如何实现用户输入特定字符串时重复Python while循环?
问题解决:猜数字游戏重复运行的问题
你的代码核心问题是仅重置了guess_count,但缺少外层循环来重新触发整个游戏流程。当第一次游戏循环(不管输赢)结束后,程序就执行到了末尾,重置guess_count无法让程序回到最初的while guess_count < guess_limit循环起点。
修复方案
把整个游戏逻辑包裹在一个外层无限循环中,让用户可以选择是否重新开始。同时每次开启新一局时,确保guess_count被重置为0。
修复后的代码:
secret_number = 8 guess_limit = 3 while True: guess_count = 0 while guess_count < guess_limit: guess = int(input("Guess the number: ")) guess_count += 1 if guess == secret_number: print("You won!") break else: print("Sorry, you failed!") # 无论输赢都询问是否继续 try_again = input("Try again? ") if try_again.lower() != "yes": break
关键改动说明
- 外层
while True创建主循环,作为游戏的重复入口 - 每次进入主循环先重置
guess_count,保证新一局从0次猜测开始 - 将“是否继续”的逻辑移到外层,覆盖输赢两种场景
- 用
try_again.lower()兼容用户输入Yes/YES等不同大小写的情况
内容的提问来源于stack exchange,提问作者Indubio
相关产品推荐
相关产品推荐

