如何按 python 3.x 中的位置替换字符串中的字母
How to replace a letter in string by position in python 3.x
我正在尝试创建一个 'hangman' 游戏。为此,我需要取玩家试图猜测的单词,并将他们尚未猜到的所有字母变成 " _ "
假设我有:
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___
之后放在一个函数中:
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)
我正在尝试创建一个 'hangman' 游戏。为此,我需要取玩家试图猜测的单词,并将他们尚未猜到的所有字母变成 " _ "
假设我有:
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___
之后放在一个函数中:
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)