我一直在努力解决这个问题,因为它是构建 Hangman 游戏的一部分。
我的问题是我需要编写一个代码来检查是否所有列表项都在密码中。如果所有都在列表中,它将返回 True,否则返回 False。
这是我完成的工作:
def isWordGuessed(secretWord, lettersGuessed):
a_list = []
for i in range(0, len(lettersGuessed)):
a_list.append(lettersGuessed[i])
str1 = ''.join(a_list)
if str1 in secretWord:
return 1
else:
return 0
isWordGuessed('apple', ['e', 'i', 'k', 'p', 'r', 's'])
但是,我已经尝试这样做了:
isWordGuessed('苹果', ['a', 'p', 'l', 'p', 'e'])
它返回 False,即使列表中的所有字母都在 'apple' 中
我想我可以在不制作字符串的情况下解决这个问题,但我不知道如何做。顺便说一句,这必须适用于给定的任何单词和列表。如果所有列表项都在一个单词中,则为 true,否则为 false...有帮助吗?
最佳答案
我会将密字和已经猜到的字母都转换为集合,并检查密字的字符集是否是已猜字符集的子集:
def isWordGuessed(secretWord, lettersGuessed):
return set(secretWord) <= set(lettersGuessed)
关于python - 如何查找密码是否包含列表中的所有字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971474/