如何在用户猜对所有字母时终止Python编写的Hangman猜词游戏程序
Hangman猜词游戏猜对所有字母终止方案
你可以新增一个变量记录用户猜对的所有唯一字母,每次猜对后校验是否已经覆盖了秘密词的全部字母,符合条件就直接终止循环即可,具体修改逻辑和代码如下:
- 循环外新增集合
correct_guesses = set(),用来存储用户猜对的不重复字母,天然避免用户重复猜同一个正确字母的计数问题 - 提前计算秘密词的不重复字母总量
unique_letters = len(set(word)) - 在猜对字母的逻辑分支里,先把当前猜的字母加入集合,再判断集合大小是否等于不重复字母总量,如果一致就打印通关提示并
break跳出循环
修改后的完整可运行代码(已适配中文提示):
word = input("请输入秘密词:") lives = int(input("请输入初始生命值:")) correct_guesses = set() # 计算秘密词的唯一字母总数 unique_letter_count = len(set(word)) while True: guess = input("请猜一个字母:") if guess in word: print("猜对了,这个字母在秘密词里。") correct_guesses.add(guess) # 校验是否猜对所有字母 if len(correct_guesses) == unique_letter_count: print("恭喜你猜对了所有字母,游戏胜利!") break else: lives -= 1 print(f"字母{guess}不在秘密词里。") if lives > 0: print(f"你还剩{lives}点生命值,再试一次。") else: print("你的生命值已经耗尽,游戏失败。") break
如果需要保留原代码的英文提示,直接替换对应print的内容即可。
内容的提问来源于stack exchange,提问作者abzain
相关产品推荐
相关产品推荐

