我正在做一个练习,我在参数中给出了一个句子和一个单词。我必须用 * 替换句子中的 word。所以为此我这样做了:
def censor(text, word):
x = text.split()
for i in x:
x = i.replace(word, "*" * len(word))
print(x)
x = " ".join(x)
print(x)
censor("Hi mister toto", "toto")
所以当我在循环区域打印出我的字符串时,它是这样排序的:
Hi
mister
****
但是当我 join 返回字符串时,它只显示字符串的最后一个单词。 代码有什么问题?
请您参考如下方法:
您的主要问题是您对审查结果和单词列表都使用了 x。
def censor(text, word):
return " ".join(
"*" * len(w) if word == w else w for w in text.split()
)
print(censor("Hi mister toto", "toto"))
