循环
循环让程序能够重复执行某段代码。Python 主要有两种循环:for 循环和 while 循环。
for 循环
遍历列表、字符串等可迭代对象:
members = ["Alice", "Bob", "Carol"]
for member in members:
print(f"欢迎 {member}")
遍历字符串的每个字符:
for char in "Python":
print(char)
配合 range()
生成数字序列进行循环:
for i in range(5):
print(i)
# 0 1 2 3 4
指定起始和步长:
for i in range(1, 11, 2): # 从 1 到 10,步长 2
print(i)
# 1 3 5 7 9
遍历切片
members = ["Alice", "Bob", "Carol", "David", "Eric"]
for member in members[:3]:
print(member)
while 循环
只要条件为 True 就会一直执行:
count = 0
while count < 5:
print(f"第 {count + 1} 次")
count += 1
注意: while 循环必须确保条件最终会变为 False,否则会无限循环。
控制循环流程
break
立即退出循环:
for member in members:
if member == "Carol":
print("找到了 Carol")
break
continue
跳过当前轮次,继续下一轮:
for i in range(1, 11):
if i % 2 == 0:
continue
print(i) # 只打印奇数
避免缩进错误
循环体里的代码必须正确缩进:
# 正确
for member in members:
print(member)
print("结束") # 不在循环里
# 错误 — 忘了缩进
for member in members:
print(member) # IndentationError
循环的实际应用
批量处理数据:
scores = [78, 85, 92, 67, 88]
total = 0
for score in scores:
total += score
average = total / len(scores)
print(f"平均分: {average:.1f}")
查找满足条件的数据:
members = [
{"name": "Alice", "score": 90},
{"name": "Bob", "score": 75},
{"name": "Carol", "score": 88},
]
for member in members:
if member["score"] >= 80:
print(f"{member['name']} 优秀")