Python3 循环语句

循环让一段代码反复执行。Python 提供两种循环:for(遍历可迭代对象)与 while(按条件循环),配合 rangebreakcontinue 可覆盖几乎所有重复性任务。

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 做流程控制,组合即可解决绝大多数重复性任务。

笔记加载中…