Python3 循环语句
循环让一段代码反复执行。Python 提供两种循环:for(遍历可迭代对象)与 while(按条件循环),配合 range、break、continue 可覆盖几乎所有重复性任务。
for 遍历
fruits = ["苹果", "香蕉", "橙子"]
for f in fruits:
print(f, end=" ") # 输出:苹果 香蕉 橙子
for ch in "ABC":
print(ch, end=" ") # 输出:A B C
range(start, stop, step)
生成整数序列,注意 stop 不包含在内:
for i in range(3): # 0, 1, 2
print(i, end=" ") # 输出:0 1 2
for i in range(1, 10, 2): # 1 到 9,步长 2
print(i, end=" ") # 输出:1 3 5 7 9
while 条件循环
n = 1
while n <= 3:
print(n, end=" ") # 输出:1 2 3
n += 1 # 别忘更新条件,否则死循环
条件恒为真时(如 while True)再用 break 退出,是"先做事、再决定退出"的常见写法。
break 与 continue
for i in range(10):
if i == 3:
break # 遇到 3 停止
print(i, end=" ") # 输出:0 1 2
for i in range(5):
if i % 2 == 0:
continue # 跳过偶数
print(i, end=" ") # 输出:1 3
循环的 else
循环正常结束(未被 break 打断)时才执行 else,常用于"查找失败":
nums = [1, 3, 5, 8]
for n in nums:
if n % 2 == 0:
print("找到偶数", n) # 输出:找到偶数 8
break
else:
print("没有偶数") # 因 break 结束,本分支不执行
嵌套循环与 enumerate
for i in range(2):
for j in range(2):
print(i, j, end="; ") # 输出:0 0; 0 1; 1 0; 1 1;
fruits = ["苹果", "香蕉"]
for idx, f in enumerate(fruits):
print(idx, f) # 输出:0 苹果 1 香蕉(分两行)
示例:九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}x{i}={i * j}", end="\t")
print()
# 输出:
# 1x1=1
# 1x2=2 2x2=4
# 1x3=3 2x3=6 3x3=9
# (后面几行依此类推)
小结:for 遍历对象、while 按条件循环,range/enumerate 控制次数与下标,break/continue/else 做流程控制,组合即可解决绝大多数重复性任务。