You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.1旅行代理游戏中无限while循环问题求助

解决你的Python旅行代理游戏while循环问题

嘿,我来帮你搞定这个循环一直重复的问题!

首先咱们得搞清楚问题出在哪:你写的while people这个条件,在Python里只要people的值不是0,就会被判定为True,循环就会继续跑。所以哪怕你输入了正确的1或2,程序输出对应的内容后,还是会进入下一轮循环,让你再次输入——这就是为什么它会一直重复执行的原因。

想要修复这个问题,核心是当用户输入正确的1或2时,终止循环。这里有两种简单好用的方案:

方案一:用标志变量控制循环

我们可以设置一个布尔变量来控制循环的运行,当用户输入正确选项时,把这个变量设为False,循环就会停止:

running = True
while running:
    people = int(input("您是独自出行(1)还是两人同行(2)?: "))
    if people == 1:
        print("\n哇,独自度假!真有冒险精神。")
        running = False  # 输入正确,结束循环
    elif people == 2:
        print("\n哦,带朋友一起!听起来很有趣!")
        running = False  # 输入正确,结束循环
    else:
        print("\n请输入1或2以确定出行人数。")

方案二:用break直接跳出循环

这种方式更简洁,我们把循环写成while True(无限循环),当用户输入正确选项时,用break语句直接跳出循环:

while True:
    people = int(input("您是独自出行(1)还是两人同行(2)?: "))
    if people == 1:
        print("\n哇,独自度假!真有冒险精神。")
        break  # 符合条件,跳出循环
    elif people == 2:
        print("\n哦,带朋友一起!听起来很有趣!")
        break  # 符合条件,跳出循环
    else:
        print("\n请输入1或2以确定出行人数。")

这两种方案都能实现你想要的效果:用户输入错误时反复提示,输入正确1或2后输出对应内容并结束循环。

内容的提问来源于stack exchange,提问作者Jaira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:06:35