Python Hangman游戏可用字母未移除问题求助
刽子手游戏可用字母未更新问题修复
问题根源
你代码的核心问题在于:当玩家猜错字母时,仅增加了错误猜测次数,但未将猜错的字母加入guessed_letters集合。而可用字母列表是基于guessed_letters集合生成的,因此猜错的字母不会被从可用列表中移除。
修复方案
在猜错字母的分支里,添加一行代码将猜测的字母也加入guessed_letters集合,确保所有已猜字母(无论对错)都会被标记为已使用。
修改后的完整代码
import random def load_words(): with open("words.txt", "r") as file: words = file.readlines() return words def choose_word(word_list): return random.choice(word_list).strip() def display_word(word, guessed_letters): return ' '.join([letter if letter in guessed_letters else '_ ' for letter in word]) def hangman(secret_word): guessed_letters = set() incorrect_guesses = 0 max_incorrect_guesses = 8 print("Welcome to the game Hangman!") print("I am thinking of a word that is {} letters long.".format(len(secret_word))) while incorrect_guesses < max_incorrect_guesses: print("-------------") print("You have {} guesses left.".format(max_incorrect_guesses - incorrect_guesses)) available_letters = ''.join([letter if letter not in guessed_letters else '' for letter in 'abcdefghijklmnopqrstuvwxyz']) print("Available letters: {}".format(available_letters)) guess = input("Please guess a letter: ").lower() if guess in guessed_letters: print("Oops! You've already guessed that letter: {}".format(display_word(secret_word, guessed_letters))) elif guess in secret_word: guessed_letters.add(guess) print("Good guess: {}".format(display_word(secret_word, guessed_letters))) else: incorrect_guesses += 1 # 新增:将猜错的字母加入已猜集合 guessed_letters.add(guess) print("Oops! That letter is not in my word: {}".format(display_word(secret_word, guessed_letters))) if all(letter in guessed_letters for letter in secret_word): print("-------------") print("Congratulations, you won!") break if incorrect_guesses == max_incorrect_guesses: print("-------------") print("Sorry, you ran out of guesses. The word was {}.".format(secret_word)) if __name__ == "__main__": word_list = load_words() secret_word = choose_word(word_list) hangman(secret_word)
修改后,无论玩家猜对还是猜错字母,该字母都会被从可用列表中移除,符合游戏逻辑。
内容的提问来源于stack exchange,提问作者Seedey
相关产品推荐
相关产品推荐

