如何实现达到指定猜测次数时终止while循环的猜词游戏?
猜词游戏代码修正
原代码存在几处问题,直接修改如下:
问题点说明
- 语法错误:
else guess_count == "4"不符合Python语法,else不能附加条件,需改用elif;且guess_count是整数类型,不能与字符串"4"做相等判断,要使用数字4 - 循环逻辑漏洞:原循环仅以是否猜对作为终止条件,未限制猜测次数,需将次数上限加入循环判断条件
- 胜负判断逻辑偏差:第4次猜测若猜对,应判定胜利而非失败
修正后的代码
secret_word = "giraffe" guess = "" guess_count = 0 max_guesses = 4 # 明确指定最大猜测次数 while guess != secret_word and guess_count < max_guesses: guess = input("enter guess: ") guess_count += 1 print(f"猜测次数: {guess_count}") if guess == secret_word: print("You win") elif guess_count == max_guesses: print("You lost!")
代码说明
- 新增
max_guesses变量存储最大猜测次数,便于后续修改 - 循环条件同时判断「未猜对」和「未达到最大次数」,确保次数到顶后自动终止循环
- 使用
elif判断次数是否达到上限,只有当第max_guesses次仍未猜对时,才输出失败信息
内容的提问来源于stack exchange,提问作者Cisco
相关产品推荐
相关产品推荐

