Python3 (13)循环语句
在 Python 编程领域中,循环语句是实现代码高效重复执行和逻辑控制的关键工具。Python 提供了for
和while
两种主要的循环结构,它们各自有着独特的应用场景和使用方式。下面结合菜鸟教程内容,通过丰富的代码示例,深入学习 Python3 循环语句,方便日后复习回顾。
一、while 循环
1.1 while 循环基础
while
循环会在指定条件为True
时,重复执行循环体中的代码块。其基本语法结构如下:
while 判断条件:执行语句
冒号和缩进是while
循环语法的关键部分,缩进的代码块构成了循环体。例如,计算 1 到 10 的累加和:
sum_num = 0
num = 1
while num <= 10:sum_num += numnum += 1
print(f"1到10的累加和为: {sum_num}")
这个示例中,只要num <= 10
条件为True
,循环就会持续执行,每次循环sum_num
加上当前的num
值,num
自增 1,直到num
大于 10 时循环结束。
1.2 无限循环
通过设置永远为True
的条件表达式,可实现无限循环。比如:
while True:user_input = input("请输入一个数字(输入q退出): ")if user_input == 'q':breakprint(f"你输入的数字是: {user_input}")
在这个无限循环中,程序会不断提示用户输入数字并输出。只有当用户输入q
时,通过break
语句跳出循环。在实际应用中,无限循环常用于需要持续运行的程序,如服务器端的实时请求处理。
1.3 while 循环结合 else 语句
while
循环可以与else
语句配合使用。当while
循环条件为False
时,会执行else
中的代码块。示例如下:
count = 0
while count < 3:print(f"{count}小于3")count += 1
else:print(f"{count}大于或等于3")
当count
从 0 开始,每次循环自增 1,当count
达到 3 时,count < 3
条件为False
,while
循环结束,执行else
语句块,输出相应内容。
1.4 简单语句组的 while 循环
如果while
循环体中只有一条语句,可以将该语句与while
写在同一行。例如:
flag = True
while flag: print('循环继续')
这个无限循环会持续输出 “循环继续”,可通过Ctrl+C
中断循环。虽然这种写法简洁,但在复杂逻辑中,建议使用标准的缩进格式来提高代码可读性。
二、for 循环
2.1 for 循环遍历可迭代对象
for
循环用于遍历任何可迭代对象,如列表、字符串等。其基本语法为:
for 变量 in 可迭代对象:执行语句
例如,遍历列表并输出其中元素:
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:print(fruit)
上述代码会依次输出列表fruits
中的每个元素。遍历字符串时,会逐个输出字符串中的字符:
word = 'python'
for char in word:print(char)
2.2 for 循环结合 range () 函数
range()
函数常用于生成数字序列,配合for
循环使用。它可以生成指定范围的整数序列。例如,生成 1 到 5 的数字序列并输出:
for num in range(1, 6):print(num)
range()
函数还可以指定起始值、结束值和步长。如生成从 0 开始,以 3 为步长,小于 10 的数字序列:
for num in range(0, 10, 3):print(num)
2.3 for...else 语句
for...else
语句在循环正常结束(即遍历完可迭代对象的所有元素)后,会执行else
子句中的代码;若循环过程中遇到break
语句,则不会执行else
子句。示例如下:
for num in range(1, 4):print(num)
else:print("循环正常结束")
在这个示例中,循环正常遍历完 1 到 3,然后执行else
子句输出内容。如果在循环中加入break
语句:
for num in range(1, 4):if num == 2:breakprint(num)
else:print("循环正常结束")
当num
等于 2 时,break
语句跳出循环,此时不会执行else
子句。
三、break 和 continue 语句
3.1 break 语句
break
语句用于跳出当前循环体,提前结束循环。在while
循环和for
循环中都可以使用。例如,在while
循环中查找数字:
num = 1
while num <= 5:if num == 3:breakprint(num)num += 1
当num
等于 3 时,break
语句被触发,循环立即结束,后续代码不再执行。在for
循环中同样如此:
fruits = ['apple', 'banana', 'cherry', 'date']
for fruit in fruits:if fruit == 'cherry':breakprint(fruit)
当遍历到cherry
时,循环结束,不再输出后续元素。
3.2 continue 语句
continue
语句用于跳过当前循环块中的剩余语句,直接进入下一轮循环。在while
循环中:
num = 0
while num < 5:num += 1if num == 3:continueprint(num)
当num
等于 3 时,continue
语句使程序跳过本次循环的print(num)
语句,直接进入下一轮循环。在for
循环中:
word = 'program'
for char in word:if char == 'g':continueprint(char)
当遍历到字符g
时,跳过print(char)
语句,继续遍历下一个字符。
四、pass 语句
pass
语句是 Python 中的空语句,不执行任何操作,主要用于保持程序结构的完整性。例如,在定义函数或类时,暂时不想编写具体实现代码,可以使用pass
语句占位:
def my_function():passclass MyClass:pass
在循环中,pass
也可用于占位。如:
for num in range(5):if num == 2:passprint(num)
当num
等于 2 时,执行pass
语句(不做任何操作),然后继续输出其他数字。
五、总结
Python3 的循环语句为编程提供了强大的迭代和控制能力。while
循环适用于根据条件重复执行代码块的场景,for
循环则在遍历可迭代对象时表现出色。break
和continue
语句能灵活控制循环流程,pass
语句用于保持代码结构完整。在实际编程中,要根据具体需求选择合适的循环结构和控制语句,合理运用它们来优化代码逻辑和提高程序的执行效率。希望这篇博客能帮助你系统地复习和巩固 Python3 循环语句的知识,在编程实践中更加熟练地运用它们。