Skip to main content
 首页 » 编程设计

python之拆分和连接后,我没有取回所有字符串

2025年05月04日29me-sa

我正在做一个练习,我在参数中给出了一个句子和一个单词。我必须用 * 替换句子中的 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"))