从键盘读入由仅由英文构成的多行文本,借助于字典统计其中每个单词出现的次数。然后按字典递增序按格式输出每个单次出现的次数。
要求:
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])