The function should return the text with the word replaced with asterisks. Not sure why my original code wouldn't work as the logic seems correct to me.
text = "this shit is cool"
def censor(text, word):
lst = text.split()
ast = ""
result = ''
for char in word:
ast += "*"
for wrd in lst:
if wrd == word:
wrd = ast #why doesn't this part work??
print " ".join(lst)
censor(text, "shit")
This is my corrected code after I looked up some other related problems. It just seems more complex and unnecessary. Why does this one work instead of my original code?
def censor(text, word):
lst = text.split()
ast = ""
result = ''
for char in word:
ast += "*"
for wrd in lst:
if wrd == word:
loc = lst.index(word) #I can't just change it directly? using wrd?
lst[loc] = ast
return " ".join(lst)