前言

在编程的世界里,计算机最擅长的事情就是重复。如果你想打印100次“你好”,难道要手敲100行代码吗?当然不需要!这就是循环大显身手的时候。

在Python中,while 循环是最常用的循环之一。while 的英文意思是“当……的时候”,所以 while 循环的意思就是:当某个条件成立时,就一直重复执行某段代码。

while 循环的基本语法

while 循环的蓝图非常简单:

while 条件表达式:
    # 缩进的代码块,也叫“循环体”
    # 只要条件表达式为 True(真),这里的代码就会一直执行

🍎 基础示例:数苹果

假设我们要从1数到5,看看用 while 循环怎么写:

count = 1  # 步骤1:初始化变量

while count <= 5:  # 步骤2:设置条件(只要 count 小于等于 5,就继续)
    print(f"正在吃第 {count} 个苹果 🍎")
    count += 1  # 步骤3:更新变量(等同于 count = count + 1)

print("苹果吃完了,好撑!")

程序运行逻辑:

  1. 首先,count 是 1。1 <= 5 成立,打印“第1个苹果”,然后 count 变成 2。
  2. 接着,检查 2 <= 5 成立,打印“第2个苹果”,然后 count 变成 3。
  3. ……一直到 count 变成 6。
  4. 此时检查 6 <= 5,发现不成立(False),循环结束,执行最后一句“苹果吃完了”。

新手常见陷阱:死循环(Infinite Loop)

使用 while 循环时,千万不要忘记更新你的循环变量(比如上面的 count += 1)。如果条件永远为真,程序就会永远跑下去,这被称为死循环

# 🚨 这是一个死循环的错误示范 🚨
# 请不要在电脑上轻易尝试,如果不小心运行了,请按 Ctrl + C 强制停止
count = 1
while count <= 5:
    print(f"正在吃第 {count} 个苹果")
    # 糟糕!忘记写 count += 1 了
    # count 永远是 1,条件 1 <= 5 永远成立,程序会无限疯狂打印!

循环的“遥控器”:breakcontinue

有时候,我们需要在循环执行一半时打破规则。Python 提供了两个强力遥控器按钮:

1. break 按钮:紧急刹车 🛑

break 的作用是彻底跳出/终止循环,不管条件满不满足。

count = 1
while count <= 10:
    if count == 4:
        print("发现一条虫子!不吃了!🐛")
        break  # 遇到虫子,直接结束整个循环
    print(f"正在吃第 {count} 个苹果 🍎")
    count += 1

print("吃饭结束。")

输出结果只会打印吃第1、2、3个苹果,然后直接结束。

2. continue 按钮:跳过这一集 ⏭️

continue 的作用是跳过当前这一次循环的剩余代码,直接进入下一次循环。

count = 0
while count < 5:
    count += 1
    if count == 3:
        print("第 3 个苹果坏了,扔掉!🗑️")
        continue  # 跳过第3个苹果,不吃它,继续去看第4个
    print(f"正在吃第 {count} 个苹果 🍎")

输出结果会吃第1、2、4、5个苹果,唯独不吃第3个。

实战案例

光说不练假把式,我们来看看 while 循环在实际开发中的两个经典应用场景。

🎮 案例一:经典猜数字游戏

这是一个非常适合新手的小游戏。程序设定一个秘密数字,玩家一直猜,直到猜对为止。

# 猜数字游戏代码
secret_number = 7  # 秘密数字
guess = 0          # 记录玩家的猜测
attempts = 0       # 记录猜测次数

print("🎯 欢迎来到猜数字游戏!我已经想好了一个 1 到 10 之间的数字。")

# 只要玩家没猜对,就一直循环
while guess != secret_number:
    guess = int(input("请输入你猜的数字: "))
    attempts += 1  # 猜测次数加1

    if guess < secret_number:
        print("太小了,再试一次!📉")
    elif guess > secret_number:
        print("太大了,再试一次!📈")
    else:
        print(f"🎉 恭喜你猜对了!秘密数字就是 {secret_number}。")
        print(f"你一共猜了 {attempts} 次!")

💻 案例二:实用的交互式菜单 (while True 用法)

在编写脚本时,我们经常用到 while True: 这种写法。它表示“无限循环”,通常配合 break 来提供一个持续运行的服务,直到用户主动退出。

print("🤖 欢迎使用简易复读机程序")

while True:
    # 持续接收用户输入
    user_input = input("请输入你想说的话(输入 'quit' 退出): ")

    # 判断是否满足退出条件
    if user_input == 'quit':
        print("👋 再见!复读机已关闭。")
        break  # 满足条件,彻底退出循环

    # 如果没退出,就复读一遍
    print(f"复读机说:{user_input}\n")

(这种结构在编写需要保持运行的服务器、机器人或命令行工具时非常常见!)

分类: Python 新手教程 标签: Pythonwhile

评论

暂无评论数据

暂无评论数据

目录