Python循环精讲(forwhile+breakcontinue,新手避坑)
·
循环是Python的核心语法,用于重复执行一段代码,新手最容易在“循环条件”“break/continue用法”“循环嵌套”上踩坑,导致死循环、漏执行代码等问题。
今天把Python循环拆解成“for循环、while循环、循环控制、嵌套循环”四个模块,搭配避坑示例,新手看完就能掌握90%的循环场景用法~
一、for循环:遍历可迭代对象(最常用)
1. 核心语法:遍历列表、字符串、字典等可迭代对象,无需手动控制循环次数。
# 语法格式
for 变量 in 可迭代对象:
循环体(缩进4个空格)
2. 基础示例:
# 1. 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃{fruit}")
# 输出:
# 我喜欢吃苹果
# 我喜欢吃香蕉
# 我喜欢吃橙子
# 2. 遍历数字范围(range()函数)
# range(5) → 0-4(不包含5)
for i in range(5):
print(i) # 输出0 1 2 3 4
# range(1, 6) → 1-5(起始1,结束6,不包含6)
for i in range(1, 6):
print(i) # 输出1 2 3 4 5
# range(0, 10, 2) → 0,2,4,6,8(步长2)
for i in range(0, 10, 2):
print(i)
# 3. 遍历字典
user = {"name": "张三", "age": 20}
# 遍历键
for key in user:
print(key) # 输出name age
# 遍历键值对
for key, value in user.items():
print(f"{key}: {value}")
3. 新手避坑:遍历列表时修改原列表
# ❌ 错误示例:循环中删除元素,导致漏值
nums = [1,2,3,4,5]
for num in nums:
if num % 2 == 0:
nums.remove(num)
print(nums) # 预期[1,3,5],实际[1,3,5](看似正确,复杂场景漏值)
# ✅ 正确示例:遍历列表副本
nums = [1,2,3,4,5]
for num in nums[:]: # nums[:]是列表副本
if num % 2 == 0:
nums.remove(num)
print(nums) # 正确输出[1,3,5]
二、while循环:按条件循环(控制循环次数)
1. 核心语法:只要条件为True,就执行循环体,需手动控制终止条件(避免死循环)。
# 语法格式
while 条件表达式:
循环体
(必须有终止条件,如计数器自增)
2. 基础示例:
# 1. 计数器控制循环次数
count = 0
while count < 5:
print(f"循环第{count+1}次")
count += 1 # 计数器自增,否则死循环
# 输出:循环第1-5次
# 2. 条件终止循环
num = 10
while num > 0:
print(num)
num -= 2 # 每次减2
# 输出:10 8 6 4 2
3. 新手避坑:死循环
# ❌ 错误:无终止条件,死循环(按Ctrl+C终止)
# while True:
# print("死循环")
# ✅ 正确:加终止条件
flag = True
count = 0
while flag:
print("循环中...")
count += 1
if count >= 3:
flag = False # 终止循环
三、循环控制:break/continue(改变循环流程)
1. break:立即终止整个循环
# 遍历列表,找到"香蕉"就终止循环
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
if fruit == "香蕉":
print("找到香蕉,终止循环")
break
print(fruit)
# 输出:苹果 → 找到香蕉,终止循环
2. continue:跳过当前循环,执行下一次
# 打印1-10的奇数(跳过偶数)
for i in range(1, 11):
if i % 2 == 0:
continue # 跳过偶数
print(i) # 输出1 3 5 7 9
四、嵌套循环:循环里套循环(如99乘法表)
1. 核心:外层循环控制行数,内层循环控制列数。
# 示例:打印99乘法表
for i in range(1, 10): # 外层:行数1-9
for j in range(1, i+1): # 内层:列数1-i
print(f"{j}×{i}={i*j}", end="\t")
print() # 换行
最后
循环的核心是“重复执行+可控终止”,新手先掌握for循环(遍历)和while循环(条件)的基础用法,再学习break/continue和嵌套循环。练习时可以尝试用循环实现“猜数字游戏”“累加1-100的和”等小功能,巩固知识点。
更多推荐


所有评论(0)