python - 审查文本中的给定单词
问题描述
我是 Python 的初学者。这是我在论坛中发现的一个挑战。该程序正在审查除第一个字母外的带有“*”的单词(由用户给出)字母。例如,如果句子是“Every Breath you take every move you make”,输入词是“every”,输出应该是这样的:
2 incidents found.
Censored lyrics:
E**** breath you take e**** move you make
这是我唯一的想法,但没有奏效。
text=input("Enter your text: ").lower()
word=input("Choose a word from the previously entered text: ").lower()
def censor(text,word):
t=text.split()
n=[]
for i in t:
if(i==word):
n.append("*"*len(word))
else:
n.append(i)
return " ".join(n)
print (censor)
任何帮助,将不胜感激!
解决方案
这里的问题是,当你找到这个词时,你只是把 * 你从不添加第一个字母。要解决这个问题,您需要:
n.append(word[0]+"*"*(len(word)-1))
代替
n.append("*"*len(word))
现在它将添加第一个字母和正确的 * 编号。