【发布时间】:2014-04-05 17:39:24
【问题描述】:
我正在尝试创建一个游戏,用户输入字母直到他们猜出秘密单词,但由于某种原因,我的列表没有正确更新。 假设秘密单词是 TOYS,如果用户猜到 T,它会显示 T _ _ _ 然后用户输入 S 但单词仍然显示 T_ _ _,将 S 添加到 lettersInWord 列表中,并告诉用户 S 不是在这个词中。循环在 while 循环中运行,但问题发生在循环内部。
letter = input("Enter letter: ")
if letter not in enteredLetters:
find = sentence.find(letter)
if find == -1:
print("Letter is not in word")
else:
newSentence = ""
lettersInWord.append(letter)
for letter in sentence:
if letter in lettersInWord:
newSentence = newSentence + letter
else:
newSentence = newSentence + "_ "
elif letter in enteredLetters:
print ("The letter has been used")
print (newSentence)
enteredLetters.append(letter)
【问题讨论】:
-
你没有初始化
enteredLetters(enteredLetters = []) 还是只是被“删掉”了? -
@DonCallisto:这显然不是问题所在。在这种情况下你会得到例外,这里不是这种情况。
-
@MartijnPieters:只是问,因为这可能会导致问题......
-
@DonCallisto 我已经初始化了循环外的所有变量,这不是问题,只是循环是
-
你的句子是大写的吗?你能告诉我们
sentence变量中有什么吗?
标签: python list loops python-3.x