簡體   English   中英

如何在 python 3.x 中用 position 替換字符串中的字母

[英]How to replace a letter in string by position in python 3.x

我正在嘗試創建一個“劊子手”游戲。 為此,我需要將玩家試圖猜測的單詞,並將他們尚未猜到的所有字母變成" _ "

所以假設我有:

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

我怎樣才能把它變成: _ r a _ _ _

這里有幾種可能的解決方案,一個是:

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___

之后將其放入 function 中:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM