我正在尝试创建一个程序来玩刽子手,它被分成多个小块。如果秘密字的字母在猜测的字母内,则该特定块应该返回'True',如果秘密字中的至少一个字母不在猜测的字母中,则返回false。我不知道我做错了什么,因为我的代码并没有始终如一地找到正确的答案。谢谢你的帮助!
def isWordGuessed(secretWord, lettersGuessed):
for letter in secretWord:
if letter not in lettersGuessed:
return False
else:
return True
答案 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)