四时宝库

程序员的知识宝库

python入门到脱坑 结构语句—— 循环语句while 循环

以下是Python中while循环的详细入门讲解,包含基础语法、控制方法和实用技巧:

一、while循环基础

1. 基本语法

while 条件:
    # 条件为True时重复执行的代码
    # ...

2. 执行流程

3. 简单示例

count = 0
while count < 5:
    print(f"当前计数: {count}")
    count += 1  # 不要忘记更新条件变量!

输出:

当前计数: 0
当前计数: 1
当前计数: 2
当前计数: 3
当前计数: 4

二、循环控制语句

语句

作用

示例

break

立即终止整个循环

while True: break

continue

跳过本次循环,进入下一次

while x<5: x+=1; continue; print(x)

else

循环正常结束(非break退出)时执行

见下方示例

1.break示例

while True:
    user_input = input("输入q退出: ")
    if user_input == "q":
        break  # 立即退出循环
    print(f"你输入了: {user_input}")

2.continue示例

num = 0
while num < 5:
    num += 1
    if num % 2 == 0:
        continue  # 跳过偶数
    print(f"奇数: {num}")

输出:

奇数: 1
奇数: 3
奇数: 5

3.else示例

n = 3
while n > 0:
    print(n)
    n -= 1
else:
    print("循环正常结束")  # 会执行

三、典型应用场景

1. 用户输入验证

while True:
    age = input("请输入年龄(0-120): ")
    if age.isdigit() and 0 <= int(age) <= 120:
        break
    print("输入无效!")

2. 游戏主循环

game_over = False
while not game_over:
    # 游戏逻辑...
    if player_health <= 0:
        game_over = True

3. 数据处理

data = [1, 2, 3, 0, 4]
while data:  # 列表不为空时继续
    item = data.pop(0)
    if item == 0:
        continue
    print(f"处理数据: {item}")

四、注意事项

  1. 避免无限循环
# 危险示例(缺少条件更新)
x = 1
while x < 5:
    print(x)  # 忘记 x += 1
  1. 浮点数比较需谨慎
# 可能因精度问题导致意外循环
x = 0.0
while x != 1.0:  # 建议改为 x < 1.0
    x += 0.1
  1. 复杂条件处理
# 多个条件组合
while (x < 100) and (not error_occurred):
    # ...

五、实用技巧

1. 标志变量控制循环

running = True
while running:
    user_input = input("命令: ")
    if user_input == "quit":
        running = False
    elif user_input == "help":
        print("帮助信息...")

2. 超时机制

import time
timeout = 10
start_time = time.time()

while time.time() - start_time < timeout:
    # 执行操作...
else:
    print("操作超时!")

3. 嵌套循环

while True:
    # 外层循环
    while True:
        # 内层循环
        if condition:
            break  # 只退出内层循环
    if outer_condition:
        break  # 退出外层循环

六、与for循环的选择

场景

while循环

for循环

循环次数

不确定时使用

已知迭代次数时使用

终止条件

依赖复杂条件

遍历可迭代对象

典型用例

用户输入、游戏循环

列表/字典遍历

七、调试建议

  1. 打印循环变量
while x < 10:
    print(f"调试信息 - x: {x}")  # 观察变量变化
    x += 1

使用断点调试

  • 在IDE中设置断点检查循环状态

限制最大循环次数(安全措施):

max_retries = 100
while condition and max_retries > 0:
    max_retries -= 1
    # ...

掌握while循环后,可以处理需要根据运行时条件重复执行的场景。接下来可以学习for循环来遍历序列数据

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接