Boolean mini Python 玩刽子手的程序

Boolean mini Python program to play hangman

我正在尝试创建一个程序来玩刽子手,但它被分成了多个小块。如果秘密单词的字母在猜测的字母内,则该特定块应该 return 'True' ,如果秘密单词的至少一个字母不在猜测的字母中,则为 false 。我不知道我做错了什么,因为我的代码并没有始终如一地得出正确答案。感谢您的帮助!

def isWordGuessed(secretWord, lettersGuessed):
    for letter in secretWord:
        if letter not in lettersGuessed:
            return False
        else:
            return True

目前您的循环正在 lettersGuessed 中的第一个 letter 返回 True。您需要在返回 True 之前遍历所有字母,例如:

def isWordGuessed(secretWord, lettersGuessed):
    for letter in secretWord:
        if letter not in lettersGuessed:
            return False
    else:
        return True

在这种特殊情况下,您不需要 for 循环中的 else: 子句,因为这等同于:

def isWordGuessed(secretWord, lettersGuessed):
    for letter in secretWord:
        if letter not in lettersGuessed:
            return False
    return True

或者您可以使用all()函数:

def isWordGuessed(secretWord, lettersGuessed):
    return all(letter in lettersGuessed for letter in secretWord)