我正在制造吊人。
我让用户一次输入一个字母,我有两个不同的列表,包含正确和错误的字母。这个问题出于某种原因,无论我写的是什么,无论我做什么,这封信都会出错。例如世界“你好”
如果用户输入“h”
右边的框应该看起来像这个“h” 错误的方框应该是空的 如果用户输入f右框应该看起来像这个“h” 错误的框应该看起来像这个“f”等等。
我认为我为它做了一个完美的逻辑,但它似乎没有正常工作,因为用户输入的所有内容似乎都是错误的方框。我的代码附在图片中 enter image description here
答案 0 :(得分:1)
word = 'hello'
right_letters = []
wrong_letters = []
def guess(letter):
if letter in word:
right_letters.append(letter)
else:
wrong_letters.append(letter)
答案 1 :(得分:0)
快速修复!!!
替换以下两行:
hold_random_word = []
hold_random_word.append(random_word)
使用:
hold_random_word = [i for i in random_word]
你的代码会运行!!!
代码中的问题:
因为hold_random_word
是一个字符串列表。所以当你写:
if i in hold_random_word:
它会将hold_random_word
列表中的每个字符串与i
进行比较。
例如,如果hold_random_word = ["str","str1","str2"]
和字符ch = 's'
,则表达式if ch in hold_random_word:
会将ch
(即's')与"str"
进行比较({{1 })然后if 's' == "str" ?
("str1"
否)然后if 's' == "str1" ?
("str2"
否)。找不到匹配项,因此会返回if 's' == "str2" ?
。