- Published on
2.12.while循环
- Authors

- Name
- xiaobai
1.什么是 while 循环?
while 循环是 Python 中的一种控制流语句,用于在满足特定条件时重复执行一段代码块。只要条件为 True,循环就会一直执行。
2.基本语法
while 条件表达式:
# 循环体代码块
3.简单示例
# 示例1:基础用法
count = 1
while count <= 5:
print(f"这是第 {count} 次循环")
count += 1 # 重要:更新计数器,避免无限循环
# 输出:
# 这是第 1 次循环
# 这是第 2 次循环
# 这是第 3 次循环
# 这是第 4 次循环
# 这是第 5 次循环
4.while 循环的关键要素
4.1.条件表达式
- 在每次循环开始前检查
- 如果为
True,执行循环体 - 如果为
False,退出循环
4.2.循环体
- 需要重复执行的代码
- 必须缩进(通常是4个空格)
4.3.条件更新
- 必须在循环体内更新条件变量
- 否则会导致无限循环
5.常见应用场景
5.1.计数器循环
# 计算1到100的和
total = 0
num = 1
while num <= 100:
total += num
num += 1
print(f"1到100的和是:{total}")
5.2.用户输入验证
# 要求用户输入有效数字
while True:
user_input = input("请输入一个正整数:")
if user_input.isdigit() and int(user_input) > 0:
print(f"您输入的数字是:{user_input}")
break
else:
print("输入无效,请重新输入!")
5.3.处理列表数据
# 使用while循环遍历列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
index = 0
while index < len(fruits):
print(fruits[index])
index += 1
6.控制循环的特殊语句
6.1.break - 立即退出循环
# 找到第一个能被7整除的数
num = 1
while num <= 20:
if num % 7 == 0:
print(f"找到第一个能被7整除的数:{num}")
break
num += 1
6.2.continue - 跳过当前迭代
# 打印1-10中的奇数
num = 0
while num < 10:
num += 1
if num % 2 == 0:
continue # 如果是偶数,跳过本次循环的剩余部分
print(num)
6.3.else 子句
# while循环可以有一个else子句
count = 1
while count <= 3:
print(f"循环第 {count} 次")
count += 1
else:
print("循环正常结束(不是通过break退出)")
7.实际应用示例
7.1.示例1:猜数字游戏
import random
secret_number = random.randint(1, 100)
attempts = 0
max_attempts = 7
print("猜数字游戏!我想了一个1-100之间的数字")
while attempts < max_attempts:
guess = int(input("请输入你的猜测:"))
attempts += 1
if guess < secret_number:
print("太小了!")
elif guess > secret_number:
print("太大了!")
else:
print(f"恭喜!你在第 {attempts} 次猜对了!")
break
else:
print(f"游戏结束!正确答案是 {secret_number}")
7.2.示例2:菜单系统
def show_menu():
print("\n=== 菜单系统 ===")
print("1. 查看信息")
print("2. 修改信息")
print("3. 退出系统")
while True:
show_menu()
choice = input("请选择操作(1-3):")
if choice == "1":
print("显示信息...")
elif choice == "2":
print("修改信息...")
elif choice == "3":
print("感谢使用,再见!")
break
else:
print("无效选择,请重新输入!")
8.注意事项
- 避免无限循环:确保循环条件最终会变为
False正确缩进:循环体内的所有代码必须正确缩进 - 更新条件变量:在循环体内更新影响条件的变量
- 使用break谨慎:过多的break语句可能使代码难以理解
9.while vs for 循环
- while循环:当不确定循环次数时使用
- for循环:当知道要遍历序列或明确循环次数时使用
# while循环 - 不确定次数
import random
target = random.randint(1, 5)
guess = 0
while guess != target:
guess = int(input("猜数字:"))
else:
print("猜对了")
# for循环 - 确定次数
for i in range(5):
print(f"第 {i+1} 次循环")

