python输入一段英文,计算每个单词或数字出现的次数,并以字典方式输出。

这篇具有很好参考价值的文章主要介绍了python输入一段英文,计算每个单词或数字出现的次数,并以字典方式输出。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

菜农作业:Python_GitHub_L3_Question22

仅供记录自己在做题时候的一些思考。本题目可以不用字典来完成,只是为了练习字典的使用。

题目:

Question 22
Level 3

Question:
Write a program to compute the frequency of the words from the input. The output should output after sorting the key alphanumerically.
Suppose the following input is supplied to the program:
New to Python or choosing between Python 2 and Python 3? Read Python 2 or Python 3.
Then, the output should be:
2:2
3.:1
3?:1
New:1
Python:5
Read:1
and:1
between:1
choosing:1
or:2
to:1
"""

输入一段英文,计算每个单词或数字出现的次数。(这次有标点,但并没有加以区分,而是单独计数)

思路:

输入的字符串中会有多个重复的字符串,想要计数可以使用count函数。

这个题目更适合使用字典来解决,毕竟字典里的key不会重复,如果输入的内容重复了,就直接覆盖。

先将输入的字符串按照空格进行切分,该函数在前面的Q8中有类似的(Q8是按照逗号进行切分,将条件稍微更改即可)

切分代码如下:

def slipkg(string):
    # 将一整串字符串按空格间隔拆分,
    strlist = []
    str2 = ""
    for str1 in string:
        if str1 != " ":
            str2 += str1
        else:
            strlist.append(str2)
            str2 = ""
    strlist.append(str2)

    return strlist

该段函数在GitHub第21题中使用,于是在22题中我直接引用了。

先建立一个空的字典。(这里可以仔细了解字典的具体用法,包括添加删除key和value,如何在空字典中添加key和value等,本题目主要用到了在空字典中添加key和value)

dict有很多内置函数,引用时与类中对象引用方法一致:dict.函数名(也许字典也就是某一类中的实例化对象呢?道行尚浅,不敢乱言)

遍历切分后得到的字符串,(相当于字典里的key),直接在循环里作为key产生,其对应的value就是列表中该字符串出现的次数。

代码如下:

# 计算输入字符串的重复次数,并输出
from Question21 import slipkg
dict = {}

str = input("输入一段英文,输出重复字符串数量:")
list = slipkg(str)
for item in list:
    dict[item] = list.count(item)
print(dict)

这里输出的内容和题目中的不太一样,这里直接是一行,那我想输出竖着的怎么办呢?

好说,再来一个循环,将print放在循环里。

于是这样写:

for key, value in dict:
    print(key, ":", value)

然后发现:

报错了。

为什么报错?value确实在字典里的呀?

或许把代码改成这样执行一下:

for key in dict:
    print(key)

这样不会报错,并输出了key。

其实value是储存在key内部的,不同的key对应了不同的value。那么,问题:我可以依次用for循环输出key中对应的value吗?

我认为可以的:

for key in dict:
    print(key, dict[key])

查看资料发现字典里有个函数叫item?

for key, value in dict.items():
    print(key, ":", value)

这样我就可以把value也放在for循环语句中,总感觉没有第一个print简单粗暴易懂。

字典中的其他函数目前还没用做题遇到过,遇到了再用,用几遍之后才能记得更清楚,搜一搜大佬的资料,扒一扒文章的精化固然重要,但自己思考的过程、对每一个步骤出现bug而提出问题、解决问题的过程,更加重要。

菜农加油!文章来源地址https://www.toymoban.com/news/detail-415713.html

到了这里,关于python输入一段英文,计算每个单词或数字出现的次数,并以字典方式输出。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包