布尔迷你Python程序玩刽子手

时间:2018-05-12 00:36:46

标签: python-3.x boolean-logic

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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)