我在 Codecademy 上,名为“Practice Makes Perfect”的部分,在问题 10/15 上,单词审查问题。问题是这样的:
编写一个名为 censor
的函数,它接受两个字符串 text
和 word
作为输入。它应该返回带有您选择替换为星号的 word
的文本。
我的想法是这样做:
def censor(text, word):
length_of_word = len(word)
word_now_censored = '*' * length_of_word
wordlist = text.split()
for item in wordlist:
if item == word:
item = word_now_censored
return " ".join(wordlist)
但是,看起来,在 for 循环中更改
item
的值不会更改列表中项目的值。我认为另一种方法可能是使用
while
循环,从 i = 0
到 i < len(wordlist)
,然后根据需要修改 wordlist[i]
,但我只想了解为什么我的 for
-loop 方法不起作用。 最佳答案
改成这样:
for index, item in enumerate(wordlist):
if item == word:
wordlist[index] = word_now_censored
关于python - Codecademy 实践使完美 10/15(字词审查),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23832851/