书生训练营入门岛(python)

任务一

请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。

代码(调试后):

def wordcount(text):
    text=text.lower()
    text = text.replace(','," ").replace('?'," ").replace('.'," ").replace('!'," ").replace("'"," ").replace('"'," ")
    word_list = text.split()
    aset = set()
    dict={}
    for item in word_list:
        if item not in aset:
            dict[item]=(word_list.count(item))
            aset.add(item)
    print(dict)

测试运行1:

text="""Hello world!  
This is an example.  
Word count is fun.  
Is it fun to count words?  
Yes, it is fun!"""
wordcount(text)

结果:

{'hello': 1, 'world': 1, 'this': 1, 'is': 4, 'an': 1, 'example': 1, 'word': 1, 'count': 2, 'fun': 3, 'it': 2, 'to': 1, 'words': 1, 'yes': 1}

测试运行2:

text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""
wordcount(text)

结果:

{'got': 2, 'this': 1, 'panda': 1, 'plush': 1, 'toy': 1, 'for': 3, 'my': 1, 'daughter': 1, 's': 3, 'birthday': 1, 'who': 1, 'loves': 1, 'it': 7, 'and': 3, 'takes': 1, 'everywhere': 1, 'soft': 1, 'super': 1, 'cute': 1, 'its': 1, 'face': 1, 'has': 1, 'a': 3, 'friendly': 1, 'look': 1, 'bit': 1, 'small': 1, 'what': 1, 'i': 4, 'paid': 1, 'though': 1, 'think': 1, 'there': 1, 'might': 1, 'be': 1, 'other': 1, 'options': 1, 'that': 1, 'are': 1, 'bigger': 1, 'the': 1, 'same': 1, 'price': 1, 'arrived': 1, 'day': 1, 'earlier': 1, 'than': 1, 'expected': 1, 'so': 1, 'to': 2, 'play': 1, 'with': 1, 'myself': 1, 'before': 1, 'gave': 1, 'her': 1}

任务二

请使用本地vscode连接远程开发机,将上面你写的wordcount函数在开发机上进行debug,体验debug的全流程,并完成一份debug笔记(需要截图)。

调试前的代码:

def wordcount(text):
    text=text.lower()
    text = text.replace(','," ").replace('?'," ").replace('.'," ").replace('!'," ").replace("'"," ").replace('"'," ")
    word_list = text.split()
    aset = set()
    dict={}
    while item in word_list:                                                  #调试后此处的while应该为for
        if item not in aset:
            dict[item]=(word_list.count(item))
            aset.add(item)
    print(dict)

点击运行与debug按钮后,控制台首先显示有5个问题,这五个问题均为item一项并没有定义。经过逐步检查,发现原代码中的while应该改为for

以上两张图为逐步调试的过程。

修改后,再次点击run and debug,此时的控制台显示没有出现问题,调试完成(如下图)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值