我正在尝试创建一个程序来扮演刽子手,它被分成了多个小块。如果秘密单词的字母在猜测的字母中,则此特定块应返回"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)