在 Python 中,循环语句能够让特定的代码块重复执行,这在处理批量数据、迭代集合元素等场景中非常实用。Python 主要提供了 for
循环和 while
循环,下面将详细介绍这两种循环语句的使用方法。
for
循环通常用于遍历可迭代对象(如列表、元组、字符串、字典等)中的元素。
- 变量:用于临时存储可迭代对象中的每个元素。
- 可迭代对象:可以是列表、元组、字符串、字典等。
- 代码块:每次循环时要执行的代码,需要使用缩进(通常为 4 个空格)来表示属于循环体。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
message = "Hello"
for char in message:
print(char)
上述代码中,第一个 for
循环会依次输出列表 fruits
中的每个元素;第二个 for
循环会逐个输出字符串 message
中的字符。
range()
函数用于生成一个整数序列,常与 for
循环结合使用。
for i in range(5):
print(i)
for i in range(2, 8, 2):
print(i)
第一个 for
循环会输出 0 到 4 的整数;第二个 for
循环会输出 2、4、6。
person = {"name": "Alice", "age": 25, "city": "New York"}
for key in person:
print(key)
for value in person.values():
print(value)
for key, value in person.items():
print(f"{key}: {value}")
while
循环会在条件表达式为 True
时不断执行循环体中的代码,直到条件表达式变为 False
。
- 条件表达式:是一个布尔表达式,其结果为
True
或 False
。
- 代码块:每次循环时要执行的代码,需要使用缩进表示属于循环体。
count = 0
while count < 5:
print(count)
count = count + 1
在上述代码中,while
循环会在 count
小于 5 时不断执行循环体中的代码,每次循环将 count
的值加 1,直到 count
等于 5 时,条件表达式 count < 5
变为 False
,循环结束。
break
语句用于提前终止循环,跳出整个循环体。
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
break
print(num)
当 num
等于 3 时,break
语句会使循环立即终止,所以只会输出 1 和 2。
continue
语句用于跳过当前循环的剩余代码,直接进入下一次循环。
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
continue
print(num)
当 num
等于 3 时,continue
语句会跳过本次循环的 print(num)
语句,继续下一次循环,所以会输出 1、2、4、5。
for
循环和 while
循环都可以带有 else
子句,当循环正常结束(即没有被 break
语句终止)时,会执行 else
子句中的代码。
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
else:
print("Loop finished normally.")
在这个例子中,循环正常结束,所以会输出 “Loop finished normally.”
在一个循环内部可以嵌套另一个循环,常用于处理二维数据结构。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
for element in row:
print(element, end=" ")
print()
上述代码中,外层 for
循环遍历矩阵的每一行,内层 for
循环遍历每一行中的元素,最终输出矩阵的所有元素。
通过掌握 for
循环和 while
循环的使用方法以及循环控制语句,你可以编写出能够处理各种重复任务的 Python 程序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了