我正在用Python 3制作一个Hangman游戏。
因此,给定秘密单词,每个单词都用下划线代替
secret_word = 'peace'
代码显示:
Word = p__c_
但是我想要
Word = p _ _ c _
我做到了:
word = '_' * len(secret_word)
并创建了一个函数,以猜测代替了下划线:
def update_under(secret_word,i_under,rec_guess):
result = ""
for i in range(len(secret_word)):
if secret_word[i] == rec_guess:
result = result + rec_guess
else:
result = result + i_under[i]
return result
我尽了一切努力使下划线之间有一个空格,但我不知道如何解决。
我尝试将print
函数与'%s' % ' '
一起使用,但是那完全是错误的。
答案 0 :(得分:2)
您的代码可以高度简化,并且如果您想将其包装在while
循环中,以便用户可以不断猜测,则可以传递猜测的当前状态,例如:
secret_word = 'peace'
current_state = ['_']*len(secret_word)
def update_under(secret_word, current_state, rec_guess):
current_state = [a if a==rec_guess else b for a,b in zip(secret_word,current_state)]
return ' '.join(current_state)
print(update_under(secret_word, current_state, 'e'))
返回:
_ e _ _ e