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
相关产品推荐
相关产品推荐

