如何用文字代替下划线?

时间:2018-11-01 23:28:33

标签: python

我正在用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' % ' '一起使用,但是那完全是错误的。

1 个答案:

答案 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