我在做一个刽子手游戏,结果名单上出现了问题。如果用户输入与列表中的任何字符匹配,则会找到该字母在所述列表中的位置,然后将其添加到空白列表中的该位置。然而,像“电视”这样包含重复字符的词是行不通的。相反,它将打印“tel\u vis\u on”。抱歉,如果这是一个模糊的职位,我不知道的术语。你知道吗
def guess():
letter = input ("Please enter a letter:")
if letter in word:
print ("Correct!")
letterPlace = word.index(letter)
answer[letterPlace] = letter
print (*answer)
else:
print ("Wrong!")
if answer == word :
print ("You guessed it! Well Done!")
#end here
else:
guess()
from random import choice
objects = ["computer","television"]
word = choice(objects)
word = (list(word))
wordcount = len(word)
answer = ["_"]*wordcount
print (*answer)
guess()
这里的问题是你只替换第一次出现的那封信。为了替换所有发生的事件,使用
re
函数如下:如果你想试试这个。如果你不想要太复杂的东西,很容易理解:
顺便说一句,打得不错。你知道吗
在这一部分:
word.index(letter)
将返回字母第一次出现的索引。你知道吗因此,您将仅用字母替换第一个下划线。请改为:
代码循环,如果找到字母,生成器表达式将生成索引,以替换下划线。你知道吗
相关问题 更多 >
编程相关推荐