已解决:Zulfiqaar在注释中的解决方案对其余的代码进行了一些调整
如果要输入“ abcd”作为输入,则按list(“ abcd”)将其转换为单个字符的列表,然后可以逐元素进行比较,例如[[split_list中的char为char,如果correct_letters中为char]
因此,我一直在尝试使用python创建基本的子手游戏,但是在将列表中的字母与输入的字母进行比较时,遇到了障碍。如果您输入多个字母,游戏将无法识别输入的字母是否正确,而是对您的惩罚就像输入了错误的字母一样。有办法解决这个问题吗?
有问题的代码是:
loop3 = True
while loop3 == True:
print(guessWord)
letterGuess = str(input("\nGuess letter or word\n\n"))
if letterGuess.upper() == word:
loop2 = 0
loop3 = 0
elif letterGuess.isalpha() == False:
print("\nneed letter or word\n\n")
elif len(letterGuess) != 1:
print("\none letter or word\n\n")
else:
letterGuess = letterGuess.upper()
loop3 = False
编辑:我认为这是隐含的,但是列表在代码中更靠后,它们是:
loop1 = True
while loop1 == True:
hangmanWord = str(input("What word?\n\n"))
if hangmanWord.isalpha() == False:
print("need letter")
else:
loop1 = False
接着去:
word = hangmanWord.upper()
wordLetters = list(word)
和:
for letter in hangmanWord:
guessWord.append("_")