加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Codecademy Practice完美10/15(单词审查)

发布时间:2020-12-20 12:24:37 所属栏目:Python 来源:网络整理
导读:我在Codecademy,一个名为“实践完美”的部分,关于问题10/15,一个字检查.问题是这样的: 编写一个名为censor的函数,它将两个字符串(文本和单词)作为输入.它应该返回带有您选择用星号替换的单词的文本. 我的想法是这样做: def censor(text,word): length_of_w
我在Codecademy,一个名为“实践完美”的部分,关于问题10/15,一个字检查.问题是这样的:

编写一个名为censor的函数,它将两个字符串(文本和单词)作为输入.它应该返回带有您选择用星号替换的单词的文本.

我的想法是这样做:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读