Как заменить букву в строке позицией в python 3.x - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь создать игру в «палача». И для этого мне нужно взять слово, которое игрок пытается угадать, и превратить все буквы, которые он еще не угадал, в " _ "

Итак, допустим, у меня есть:

letters_guessed = [q, r, u, a, p]
secret_word = "dragon"

Как превратить его в: _ r a _ _ _?

1 Ответ

0 голосов
/ 11 июля 2020

Здесь несколько возможных решений, одно из которых:

letters_guessed = ["q", "r", "u", "a", "p"]

secret_word = "dragon"

output = ""
for char in secret_word:
    if char in letters_guessed:
        x = char
    else:
        x = "_"
    output += x

print(output)
# Output:  _ra___

Поместите его в функцию после:

def hangman(word, guessed):
    output = ""
    for char in word:
        if char in guessed:
            x = char
        else:
            x = "_"
        output += x
    return output

В качестве альтернативы вы можете вообще использовать понимание списка:

letters_guessed = ["q", "r", "u", "a", "p"]
secret_word = "dragon"
secret_list = "".join([char if char in letters_guessed else "_" 
                       for char in list(secret_word)])
print(secret_list)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...