7-9 词频统计 - 实验11 字典操作及应用 - 《Python编程基础及应用实验教程》(高等教育出版社)
分数 10
全屏浏览
切换布局
作者 海洋饼干叔叔
单位 重庆大学
从键盘读入由仅由英文构成的多行文本,借助于字典统计其中每个单词出现的次数。然后按字典递增序按格式输出每个单次出现的次数。
要求:
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
答案:
n=int(input())
rub={'0','1','2','3','4','5','6','7','8','9','!',',',':','?','.'}
s_list=[]
s_dict={}
for i in range(n):
s_list.append(input())
for i in range(len(s_list)):
for j in rub:
s_list[i]=s_list[i].replace(j,'')
for i in s_list:
temp=i.split()
for j in temp:
j=j.lower()
if j in s_dict:
s_dict[j]+=1
else:
s_dict[j]=1
keys=list(s_dict.keys())
keys.sort()
for i in keys:
print(f'{i} {s_dict[i]}')
#杰小韦攻坚克难