为什么学习循环语句
循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能
循环在程序中的作用判断一样,也是广泛存在的,是非常多功能实现的基础:比如大家熟悉的首页轮播图,视频循环播放,动态壁纸,游戏中的公告等。
在Python中,循环语句用于重复执行一组语句,直到满足某个条件为止。Python提供了两种主要的循环语句:for
循环和 while
循环。下面就来具体讲解。
for循环
for
循环用于遍历序列(如列表、元组、字符串等)中的元素,执行循环体中的代码块。每次循环从待处理数据集中取出数据赋值给临时变量,临时变量每次循环都会被赋予新的值。注意for
后面的英文冒号不要忘记,同if
语句一样,缩进4个空格的属于for
循环,是他的循环体。
for 临时变量 in 待处理的数据集:
满足循环条件时执行的代码体
下是一些使用 for
循环的常见示例:
简单示例
1. 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
输出:
apple
banana
cherry
2. 遍历字符串
for char in "Python":
print(char)
输出:
P
y
t
h
o
n
3. 遍历数字范围
for num in range(1, 6):
print(num)
输出:
1
2
3
4
5
4. 使用 enumerate
获取索引和值
fruits = ["apple", "banana", "cherry"]
for index, value in enumerate(fruits):
print(f"Index: {index}, Value: {value}")
输出:
Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: cherry
5. 遍历字典的键值对
person = {"name": "John", "age": 30, "city": "New York"}
for key, value in person.items():
print(f"{key}: {value}")
输出:
name: John
age: 30
city: New York
6. 嵌套循环
for i in range(3):
for j in range(2):
print(f"({i}, {j})")
输出:
(0, 0)
(0, 1)
(1, 0)
(1, 1)
(2, 0)
(2, 1)
以上就是关于for
循环的一些简单使用,在具体的实际案例中,请大家结合自己的需求灵活使用,尤其是掌握好嵌套循环,下面我们来看两个简单的嵌套循环的例子
while循环
除了for
循环语句外,Python同样提供了while
循环语句。两者能完成的功能基本差不多,但有如下区别:
while
循环的循环条件是自定义的,自行控制循环条件
for
循环是一种”轮询”机制,是对一批内容进行”逐个处理
while
循环用于在给定条件为真的情况下反复执行一组语句。循环会一直执行,直到条件不再满足。下面是 while
循环的一般语法:
while condition:
# 循环体
# 在满足条件时执行的代码
简单的 while
循环
count = 0
while count < 5:
print(count)
count += 1
输出:
0
1
2
3
4
在这个例子中,循环会在 count
小于 5 的条件下一直执行。每次循环迭代时,会打印 count
的值并递增 count
直到条件不再满足。
while
循环是一种强大的工具,可以用于在特定条件下重复执行代码块。确保在使用 while
循环时,条件能够在一定条件下变为假,以防止无限循环。while
的条件需得到布尔类型,True
表示继续循环,False
表示结束循环,空格缩进和if判断一样,都需要设置。
循环选择
具体在实际使用中是选择使用while循环还是for循环呢?
使用 for
循环的情况:
-
已知迭代次数: 当你已经知道循环应该执行多少次时,使用
for
循环更为方便。例如,遍历列表、元组、字符串等序列时,for
循环是更自然的选择。 -
遍历可迭代对象: 当需要遍历可迭代对象(例如,集合、字典的键或值)时,
for
循环更为直观。
使用 while
循环的情况:
- 未知迭代次数: 当循环的结束条件不明确,且循环次数不固定时,使用
while
循环更为合适。 - 根据条件继续执行: 当需要在满足某个条件时重复执行循环体时,使用
while
循环。
总体来说,for
循环更适合在已知迭代次数的情况下使用,而 while
循环更适合在未知迭代次数、需要根据条件判断的情况下使用。在实际编程中,很多情况下两者都可以使用,选择取决于问题的性质和个人偏好。
breake
和continue
语句
while
循环或是for
循环,都是重复性的执行特定操作。在这个重复的过程中,有时针对某种情况我们会
•暂时跳过某次循环,直接进行下一次
•提前退出循环,不在继续
在Python中,我们使用continue
和break
关键字用以对循环实现单次跳过和提前退出循环
break语句
break
语句用于终止循环,即使循环条件仍然为真。当 break
被执行时,循环会立即终止,程序流程跳出循环体,执行循环后的代码。示例如下:
for i in range(5):
if i == 3:
break
print(i)
输出结果
0
1
2
在这个例子中,当 i
的值为 3 时,break
被执行,终止了 for
循环,因此只输出了 0
、1
、2
。
continue语句
continue
语句用于跳过循环体中余下的代码,直接进入下一次迭代。当 continue
被执行时,程序流程会立即跳到循环的下一次迭代。示例如下:
for i in range(5):
if i == 2:
continue
print(i)
输出结果
0
1
3
4
在这个例子中,当 i
的值为 2 时,continue
被执行,跳过了循环体中的 print(i)
语句,直接进入下一次迭代。
这两个关键字的使用可以使程序更灵活,适应不同的情况。 break
用于提前结束循环,而 continue
用于跳过某次迭代中的代码。注意,过度使用这两个关键字可能导致代码难以理解,因此需要根据实际情况慎重使用。
关于循环的一些常见使用案例
如while
循环配合input()
的猜数字小游戏
#导入随机数种子
import random
# 生成1到100之间目标数字
target_number = random.randint(1, 100)
# 初始化猜测次数
guess_count = 0
while True:
# 玩家输入猜测的数字
guess = int(input("猜一个1到100之间的数字: "))
# 猜测次数递增
guess_count += 1
# 判断猜测是否正确
if guess == target_number:
print(f"恭喜你猜对了!目标数字是 {target_number},你用了 {guess_count} 次猜测。")
break
elif guess < target_number:
print("猜小了,再试一次吧!")
else:
print("猜大了,再试一次吧!")
可以把target_number打印出来以验证结果
打印9×9乘法表
while循环打印
# 定义外层循环的控制变量
i = 1
while i <= 9:
# 定义内层循环的控制变量
j = 1
while j <= i:
# 内层循环的print语句,不要换行,通过\t制表符进行对齐
print(f"{j} * {i} = {j * i}\t", end='')
j += 1
i += 1
print() # print空内容,就是输出一个换行
这里补充说明一下,python中print
语句是自带换行的,如需取消换行在后面加上end=''
即可
输出结果
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
for循环打印
# 通过外层循环控制行数
for i in range(1, 10):
# 通过内层循环控制每一行的数据
for j in range(1, i + 1):
# 在内层循环中输出每一行的内容
print(f"{j} * {i} = {j * i}\t", end='')
# 外层循环可以通过print输出一个回车符
print()
结果与while循环一致
range的具体使用
range()
函数是Python内建的一个用于生成整数序列的函数。它的一般形式是 range(start, stop, step)
,其中 start
是起始值(默认为0),stop
是结束值(不包括在序列中),step
是步长(默认为1)。包前不包后(a,b]
示例
1. 使用 range()
打印一系列数字:
for num in range(5):
print(num)
输出:
0
1
2
3
4
在这个例子中,range(5)
生成了一个包含 0 到 4 的整数序列,for
循环遍历这个序列并打印每个数字。
2. 指定起始值和结束值:
for num in range(2, 8):
print(num)
输出:
2
3
4
5
6
7
在这个例子中,range(2, 8)
生成了一个包含 2 到 7 的整数序列。
3. 指定步长:
for num in range(1, 10, 2):
print(num)
输出:
1
3
5
7
9
在这个例子中,range(1, 10, 2)
生成了一个包含 1 到 9 的整数序列,步长为2。
注意事项
range()
生成的序列是惰性的,它并不一次性生成整个序列,而是在每次循环迭代时生成下一个值。这使得range()
非常适用于在循环中迭代大范围的数字,因为它并不占用大量内存。range()
可以用于任何需要生成整数序列的场景,例如在循环中迭代、生成列表、索引访问等。
总的来说,range()
是一个强大而灵活的工具,用于生成整数序列,尤其在 for
循环中经常被使用。
有关python中循环的相关知识暂时就分享到这里,如果对大家有所帮助,还请点赞支持一下!