【发布时间】:2017-07-12 19:33:06
【问题描述】:
我如何存储来自 hangman 函数的用户输入,所以每次 for 循环运行时它都会记住用户已经猜到了字母。
hangman 函数第一次运行时,如果用户的输入是“gera”,那没关系,然后它应该循环返回进行第五次猜测;问题是如果用户现在输入'mo',它不会像这样显示gera _ mo,而是会打印_ _ _ _ _ mo;忘记用户之前的“gera”输入。 如何存储过去的输入,以便代码回忆传递的内容?
def get_guessed_word(secret_word, letters_guessed):
a = ""
for char1 in secret_word:
if char1 in letters_guessed:
a += char1
else:
a += "_ "
print(a)
def get_available_letters(letters_guessed):
a = string.ascii_lowercase
for char1 in a:
if char1 in letters_guessed:
a = a.replace(char1,"")
print(a)
def hangman(secret_word_user_to_guess):
secret_word_user_to_guess = 'geranimo'
for index in range(6,1,-1):
print('You have', index,'guesses left.')
#print('Available letters: abcdefghijklmnopqrstuvwxyz')
letters_guessed = input('Check a word: ')
get_guessed_word(secret_word_user_to_guess, letters_guessed)
print('Available letters:')
get_available_letters(letters_guessed)
【问题讨论】:
-
我会用一组来猜测
-
这个问题太不清楚了......标题说“用下划线替换猜测的单词。”但示例显示字母被替换而不是整个单词。甚至这个例子本身也令人困惑:
'apple'->'_ pp_ e'为什么_和e之间有一个空格,为什么e没有被替换?不是在猜字母列表中吗?
标签: python