Python编程实战 · 基础入门篇 | 循环语句 for / while

在上一章中,我们学习了条件判断语句,让程序可以"做选择"; 而本章要讲的 循环语句(Loop),则让程序能"重复做事"。

当你需要执行同样的操作多次,比如打印一系列数字、遍历文件、或处理列表中的每个元素时,循环语句就登场了。

Python 提供了两种主要的循环结构:

  • for 循环:用于遍历序列(如列表、字符串、range)。
  • while 循环:用于在条件成立时持续执行代码。

接下来,我们将系统掌握这两种循环的用法与技巧。


一 为什么需要循环

假设你想打印 1 到 5:

python 复制代码
print(1)
print(2)
print(3)
print(4)
print(5)

这显然太繁琐。 使用循环,代码只需三行:

python 复制代码
for i in range(1, 6):
    print(i)

输出:

复制代码
1
2
3
4
5

这就是循环的威力:让重复的任务自动化执行。


二 for 循环基础语法

for 循环的基本语法为:

python 复制代码
for 变量 in 可迭代对象:
    代码块
  • 变量:每次循环取出的元素。
  • 可迭代对象 :如 listtuplestrrange() 等。
  • 每次循环执行一次代码块,直到取完所有元素。

示例 1:遍历列表

python 复制代码
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print("我喜欢吃", fruit)

输出:

复制代码
我喜欢吃 苹果
我喜欢吃 香蕉
我喜欢吃 橙子

示例 2:遍历字符串

python 复制代码
for ch in "Python":
    print(ch)

输出:

css 复制代码
P
y
t
h
o
n

三 range() 函数

range() 是 for 循环中最常用的工具,用于生成一系列数字。

语法形式:

python 复制代码
range(start, stop, step)
  • start:起始值(默认 0)
  • stop:结束值(不包含)
  • step:步长(默认 1)

示例 1:打印 0~4

python 复制代码
for i in range(5):
    print(i)

输出:

复制代码
0
1
2
3
4

示例 2:打印 1~10 的偶数

python 复制代码
for i in range(2, 11, 2):
    print(i)

输出:

复制代码
2
4
6
8
10

示例 3:倒序输出

python 复制代码
for i in range(5, 0, -1):
    print(i)

输出:

复制代码
5
4
3
2
1

四 while 循环基础语法

while 循环通过 条件表达式 控制循环是否继续执行。

语法:

python 复制代码
while 条件表达式:
    代码块

只要条件为 True,循环就会持续执行; 直到条件变为 False 时,循环才结束。

示例:打印 1~5

python 复制代码
i = 1
while i <= 5:
    print(i)
    i += 1

输出:

复制代码
1
2
3
4
5

⚠️ 注意: 如果忘记更新变量(例如忘写 i += 1),条件永远为真,会导致死循环


五 for 与 while 的区别

对比项 for 循环 while 循环
适用场景 遍历序列、固定次数 条件控制、不确定次数
循环结束条件 自动遍历完毕 条件不再满足
是否需要手动更新变量
示例 for i in range(5) while i < 5

例子对比:

python 复制代码
# for循环
for i in range(3):
    print("Hello")

# while循环
i = 0
while i < 3:
    print("Hello")
    i += 1

两者输出相同。


六 break 与 continue

在循环中,有时我们需要提前结束循环或跳过某次执行。 Python 提供了两个控制语句:

1. break ------ 立即结束循环

python 复制代码
for i in range(1, 6):
    if i == 3:
        break
    print(i)

输出:

复制代码
1
2

i == 3 时,循环立刻结束。


2. continue ------ 跳过当前循环,继续下一次

python 复制代码
for i in range(1, 6):
    if i == 3:
        continue
    print(i)

输出:

复制代码
1
2
4
5

💡 小技巧: break 通常用于满足条件时提前退出; continue 用于过滤或跳过不需要处理的情况。


七 while True 无限循环

有时我们希望程序持续运行,直到用户主动终止。 可以使用 无限循环

python 复制代码
while True:
    cmd = input("请输入命令(exit退出):")
    if cmd == "exit":
        print("程序结束")
        break
    print(f"你输入了:{cmd}")

输出示例:

bash 复制代码
请输入命令(exit退出):hello
你输入了:hello
请输入命令(exit退出):exit
程序结束

八 for...else / while...else 结构

Python 的循环可以带一个 else 子句, 当循环 正常结束 (非 break 终止)时,会执行 else 代码块。

示例:

python 复制代码
for i in range(5):
    print(i)
else:
    print("循环正常结束")

输出:

复制代码
0
1
2
3
4
循环正常结束

但如果中途被 break 打断,else 不会执行:

python 复制代码
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环正常结束")

输出:

复制代码
0
1
2

九 嵌套循环

循环中还可以嵌套另一个循环。

示例:打印乘法表

python 复制代码
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}×{i}={i*j}", end="\t")
    print()

输出:

ini 复制代码
1×1=1
1×2=2	2×2=4
1×3=3	2×3=6	3×3=9
...

十 实战案例:猜数字游戏

python 复制代码
import random

target = random.randint(1, 100)
count = 0

while True:
    guess = int(input("请输入1~100之间的数字:"))
    count += 1
    if guess == target:
        print(f"恭喜你猜对了!共尝试 {count} 次。")
        break
    elif guess < target:
        print("太小了,再试试。")
    else:
        print("太大了,再试试。")

运行示例:

复制代码
请输入1~100之间的数字:50
太小了,再试试。
请输入1~100之间的数字:75
太大了,再试试。
请输入1~100之间的数字:63
恭喜你猜对了!共尝试 3 次。

十一 小结

循环类型 控制方式 常见用途
for 遍历序列 处理列表、字符串、range
while 条件控制 不确定次数的循环
break 立即结束循环 提前退出
continue 跳过当前循环 忽略某些情况
else 正常结束时执行 检查是否提前退出

✅ 总结一句话

if 让程序做选择,for/while 让程序会重复。 掌握循环语句,意味着你可以自动化任何重复性的操作。

相关推荐
宝贝儿好6 小时前
【强化学习实战】第十一章:Gymnasium库的介绍和使用(1)、出租车游戏代码详解(Sarsa & Q learning)
人工智能·python·深度学习·算法·游戏·机器学习
parafeeee9 小时前
程序人生-Hello’s P2P
数据库·后端·asp.net
程序媛一枚~9 小时前
✨✨✨使用Python,OpenCV及图片拼接生成❤️LOVE❤️字样图,每张小图加随机颜色边框,大图加随机大小随机颜色边框
图像处理·python·opencv·numpy·图像拼接
MediaTea10 小时前
Python:collections.Counter 常用函数及应用
开发语言·python
如若12310 小时前
flash-attn 安装失败?从报错到成功的完整排雷指南(CUDA 12.8 + PyTorch 2.7)
人工智能·pytorch·python
007张三丰10 小时前
知乎高赞回答爬虫:从零开始,建立你的专属知识库
爬虫·python·知识库·python爬虫·知乎·高赞回答
bug攻城狮10 小时前
Spring Boot应用内存占用分析与优化
java·jvm·spring boot·后端
李昊哲小课10 小时前
Python json模块完整教程
开发语言·python·json
易醒是好梦10 小时前
Python flask demo
开发语言·python·flask
怪侠_岭南一只猿10 小时前
爬虫工程师入门阶段一:基础知识点完全学习文档
css·爬虫·python·学习·html