Description
读入包含若干个单词的文本数据,将所有内容转换为大写,统计每个单词与该单词的出现次数。此外,还需要统计每个字符及其出现次数(不包括空格)。
Input
若干行的单词,以空格作为分隔符,每行单词数量不定。
遇到一行数据“0000”,读取数据结束。(字符串“0000”不计入上述统计数据)
Output
全部数据读取完成,输出如下信息:
(1)出现次数最多的单词及其出现次数;若次数相同,输出字典序最大的单词。
(2)出现次数最少的单词及其出现次数;若次数相同,输出字典序最小的单词。
(3)每个字母,按A到Z的顺序以及次数。
其中,单词和字母占10个字符位置,左对齐;计数(即:出现次数)占8位,右对齐。
下面展示一些 内联代码片
。
import string
d=dict()
for i in string.ascii_uppercase:
d.setdefault(i,0)
f=dict()
while True:
a=list(input().split())
if a==['0000']:
break
for i in a:
i=i.upper()
if i in f:
f[i]+=1
else:
f[i]=1
a=str(a)
for i in a:
i=i.upper()
if i in d:
d[i]+=1
x=0
y=999
for i in f:
if f[i]>x:
x=f[i]
if f[i]<y:
y=f[i]
m=sorted(f.items(),key=lambda x:x[0])
for i,j in m:
if j==x:
k=i
for i,j in m:
if j==y:
l=i
break
print(k.ljust(10,' '),end='')
print(str(x).rjust(8,' '))
print(l.ljust(10,' '),end='')
print(str(y).rjust(8,' '))
for i in string.ascii_uppercase:
print(i.ljust(10,' '),end='')
print(str(d[i]).rjust(8,' '))
本人刚学Python,代码可能写的不是很好,目前在刷oj平台的题目,有些题目在网上找不到答案,所打算分享一下自己的代码,质量可能不是很好,但都是ac过的,关注我,不定时分析oj代码,如果各位有不会的,可以私聊我,一起研究