7-1 词频统计 - 实验11 字典操作及应用 - 《Python编程实验》 (10 分)

29 篇文章 19 订阅
7 篇文章 1 订阅

从键盘读入由仅由英文构成的多行文本,借助于字典统计其中每个单词出现的次数。然后按字典递增序按格式输出每个单次出现的次数。


要求:
1. 所有单词不区分大小写,输出时按小写格式输出;
2. 需要排除! , : ?等英文符号,即这些符号不应作为单词的构成部分;
3. 需要排除0,1,2,... 9等数字,即这些数字不应作为单词的构成部分。

输入格式:

行数n
第1行内容
第2行内容
....
第n行内容

输出格式:

单词1 单词1出现次数
单词2 单词2出现次数
...
单词k 单词k出现次数

注意: 单词1, 2,.... k 按字典递增序。

输入样例:

4
Hello! baby! Jupyter 4 class 
class ultimately.
class
jupyter

结尾无空行

输出样例:

baby 1
class 3
hello 1
jupyter 2
ultimately 1

结尾无空行


解题思路: 请参考《Python编程实验》(待出版)。
该书是高等教育出版社《Python编程基础及应用》教材的配套实验指导书。

思考:

其实这个题不难,但是这个题目,咱们需要读一读题(注意要全部转换成小写)

.lower        #小写

.upper        #大写

答案:

# Description: 命里有时终须有,命里无时莫强求
# Autor: Neptune
# Date: 2021/11/1 18:20
n = int(input())
dict1 = {}
list1 = []
for ppp in range(n):
    str = input()
    a = ''
    for i in str:
        if i.isalpha():
            a += i.lower()
        elif a != '':
            if a in list1:
                dict1[a] = dict1[a] + 1
                a = ''
            else:
                dict1[a] = 1
                list1.append(a)
                a = ''
    if a != '':
        if a in list1:
            dict1[a] = dict1[a] + 1
            a = ''
        else:
            dict1[a] = 1
            list1.append(a)
            a = ''
list1.sort()
for i in list1:
    print(i, dict1[i])

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值