循环结构
基础教学 1 min read

循环结构

Blog Author

Python 循环结构:原理精讲 + 应用场景 + 实战技巧


一、什么是循环结构?

在编程中,循环结构(loop)指的是让某段代码重复执行的流程控制方式。这就好比让计算机做一件“重复性劳动”,比如:

  • 每秒打印一次“hello”共3600次
  • 遍历1\~100的所有整数求和
  • 反复让用户输入密码,直到正确为止

如果没有循环结构,我们得把相同的代码复制成百上千遍,这是极其低效且容易出错的。


二、Python 支持哪两种循环?

循环类型 适用场景 是否推荐
for-in 已知循环次数 ✅ 强烈推荐
while 未知循环次数(条件驱动) ✅ 强烈推荐

三、for-in 循环:重复固定次数的最优解

✅ 原理:

Python 的 for-in 循环配合 range() 使用,用于遍历一个序列、范围或可迭代对象

✅ 语法结构:

for 变量 in 可迭代对象:
    循环体缩进

✅ 典型场景:

🌟 每秒打印一次 hello,重复 3600 次:

import time


for _ in range(3600):  # _ 表示“我不关心这个变量”
    print('hello, world')
    time.sleep(1)

🌟 从 1 加到 100:

total = 0
for i in range(1, 101):  # 包含1~100
    total += i
print(total)

🌟 输出所有奇数:

for i in range(1, 101, 2):  # 步长为2,得到奇数
    print(i)

🌟 sum 函数替代循环:

print(sum(range(2, 101, 2)))  # 从 2 开始,每次+2,到100

四、while 循环:当条件为真时就一直做

✅ 原理:

while 循环只要条件满足(为 True),就会无限重复执行。

✅ 语法结构:

while 条件表达式:
    循环体缩进

✅ 使用场景:

🌟 从 1 加到 100:

total = 0
i = 1
while i <= 100:
    total += i
    i += 1
print(total)

🌟 用户输入密码直到正确:

password = ''
while password != '123456':
    password = input("请输入密码:")
print("密码正确,欢迎登录!")

五、break 与 continue:循环控制利器

break:强制退出整个循环

while True:
    cmd = input(">>> ")
    if cmd == 'exit':
        break  # 用户输入 exit,立即终止循环

continue:跳过当前这一次,直接进入下一次

for i in range(1, 11):
    if i % 2 == 0:
        continue  # 忽略偶数
    print(i)  # 只会打印奇数

六、嵌套循环:循环里套循环

✅ 用途示例:九九乘法表

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{i}×{j}={i*j}', end='\t')
    print()  # 换行

输出样式:

1×1=1
2×1=2   2×2=4
3×1=3   3×2=6   3×3=9
...

七、实战应用案例

✅ 例子 1:判断素数

num = int(input("请输入一个正整数:"))
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
    if num % i == 0:
        is_prime = False
        break
print(f'{num}是素数' if is_prime else f'{num}不是素数')

✅ 例子 2:最大公约数(欧几里得算法)

x = int(input('x = '))
y = int(input('y = '))
while y:
    x, y = y, x % y
print(f'最大公约数: {x}')

✅ 例子 3:猜数字游戏

import random


answer = random.randint(1, 100)
count = 0
while True:
    guess = int(input("猜一个 1~100 的数字:"))
    count += 1
    if guess < answer:
        print("再大一点")
    elif guess > answer:
        print("再小一点")
    else:
        print(f"猜对了!共猜了 {count} 次")
        break

八、最佳实践总结

场景 推荐方式 原因
循环次数已知 for i in range(...) 简洁清晰,性能好
循环次数未知,基于条件停止 while 条件: 灵活控制循环
循环中提前终止 使用 break 遇到终止条件直接退出循环
跳过当前某轮循环 使用 continue 忽略本轮剩余内容,进入下一轮
不使用循环变量 _ 代替变量名 Python 规范写法
减少嵌套层级 拆分逻辑 保持代码清晰、可读性强

九、延伸阅读与思考练习

  1. 你能用 while 实现九九乘法表吗?
  2. 使用 break 实现一个支持“无限输入,直到输入0为止”的累加器。
  3. 对比 forwhile,你更喜欢哪个?在什么情况下换用另一个?

十、课程小结

掌握内容 应用场景
for 循环 + range 遍历数字序列、固定次数任务
while 循环 条件驱动型任务,如游戏输入、密码验证等
break / continue 提前结束或跳过循环,提高代码控制能力
嵌套循环 表格输出、双层遍历、图形生成等复杂结构
循环配合分支 构建更灵活的逻辑流程,如筛选、判断与分类处理

如果你需要该内容的 PDF 打印版、PPT 教学版或配套习题讲解,请告诉我,我可以帮你生成。下一节我们将深入探索 Python 中的 函数与模块结构,带你走进更高级的代码组织与复用世界。