[Python 基础课程]循环语句
for 循环
for 循环用于遍历一个序列(如列表、元组、字符串)或其他可迭代对象中的元素。它会依次取出可迭代对象中的每个元素,并执行相应的代码块。
其基本语法结构如下:
for 变量 in 可迭代对象:# 对每个元素执行的代码块代码块
让我们来分解一下这个结构:
for
关键字:这是for
循环的标志- 变量: 在每次循环迭代中,
变量
会被赋值为可迭代对象中的当前元素 - in 关键字:用于指定要遍历的可迭代对象
- 可迭代对象: 这是指能够逐个返回其成员的对象,例如列表 (
list
)、元组 (tuple
)、字符串 (str
)、字典 (dict
)、集合 (set
) 以及range()
函数生成的序列等 - 冒号
:
: 表示接下来是一个代码块 - 代码块: 这是在每次循环迭代中要执行的一段或多行代码,需要相对于
for
语句进行缩进
下面是一个具体的使用 for 循环遍历列表的例子:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)
下面是一个遍历字符串中的字符的例子:
message = "Hello"
for char in message:print(char)
for 循环经常搭配 range 函数实现循环执行指定次数。range()
函数可以生成一个数字序列,常用于 for
循环中指定循环次数。range(start, stop, step)
可以生成从 start
开始(包含),到 stop
结束(不包含),步长为 step
的整数序列。如果只提供一个参数 range(stop)
,则生成从 0 开始到 stop
结束(不包含),步长为 1 的序列。
# 打印 0 到 4 的数字
for i in range(5):print(i)# 打印 2 到 10 之间的偶数
for i in range(2, 11, 2):print(i)
Python 的 for 循环结构还支持一个可选的 else
子句,它在循环正常结束(即不是通过 break
语句终止的)后执行。for...else
结构中的else
中的代码块会在 for
循环遍历完所有元素后执行。如果 for
循环被 break
语句提前终止,则 else
中的代码块不会执行。
numbers = [1, 2, 3, 4, 5]
for num in numbers:if num == 6:print("找到数字 6,循环终止!")break
else:print("循环正常结束,没有找到数字 6。")
由于列表中没有数字 6,所以输出是 "循环正常结束,没有找到数字 6。
while 循环
while
循环会在指定的条件为真(True)的情况下,重复执行代码块。只有当条件变为假(False)时,循环才会停止。
其基本语法结构如下:
while 条件:# 当条件为真时执行的代码块代码块
让我们来分解一下这个结构:
while
关键字:这是while
循环的标志- 条件: 这是一个可以被求值为布尔值的表达式
- 冒号
:
: 表示接下来是一个代码块 - 代码块: 这是在每次条件为真时要执行的一段或多行代码,需要相对于
while
语句进行缩进
务必注意: 在 while
循环的代码块中,必须包含能够使条件最终变为 False
的语句,否则循环会无限执行下去,形成无限循环(infinite loop),这通常不是我们期望的结果。
使用 while 循环计算 1 到 5 的和的例子:
count = 1
total = 0
while count <= 5:total += countcount += 1print(f"1 到 5 的和为:{total}")
在这个例子中,while
循环会一直执行,直到 count
的值大于 5。在每次循环中,total
会累加上 count
的值,并且 count
的值会递增 1。当 count
变为 6 时,条件 count <= 5
为 False
,循环结束。
使用 while
循环接收用户输入直到输入 “quit” 的例子:
user_input = ""
while user_input != "quit":user_input = input("请输入内容 (输入 'quit' 退出): ")print(f"你输入的是:{user_input}")
while 语句也可以搭配 else 使用,和 for 一样。while...else
中的else
代码块会在 while
循环的条件变为 False
并且循环正常结束时执行。如果 while
循环被 break
语句提前终止,则 else
中的代码块不会执行。
count = 0
while count < 5:print(count)count += 1if count == 3:break
else:print("while 循环正常结束。")
循环控制语句:break 和 continue
Python 提供了 break
和 continue
语句,用于在循环执行过程中改变其正常的控制流。
break
语句:用于立即终止当前所在的循环,并跳出循环体,执行循环之后的代码(如果存在)。
numbers = [1, 2, 3, 4, 5, -1, 6]
for num in numbers:if num < 0:print("遇到负数,循环终止!")breakprint(f"当前数字:{num}")
continue
语句:用于跳过当前循环迭代中的剩余代码,并立即开始下一次迭代。
numbers = [1, 2, 3, 4, 5, -1, 6]
for num in numbers:if num < 0:print("遇到负数,跳过!")continueprint(f"当前数字:{num}")