编写一个程序,对给定字符串中出现的 a~z 字母频率进行分析,忽略大小写,采用降序方式输出。
def eng(txt): #定义一个函数
txt.lower() #全部小写
count= {} #定义一个字典
for word in txt:
if word in "abcdefghijklmnopqrstuvwxyz":
count[word] = count.get(word,0) + 1 #根据键信息查找并返回值信息
txtitems = list(count.items()) #将字典转换为列表才可以进行排序
txtitems.sort(key = lambda x:x[1],reverse = True) # 根据值进行降序排序,默认是升序
for i in range(len(txtitems)): #0到len(items),不包括len(items)作为下标,循环遍历列表items中的键值,分别赋值给变量word,count
word,count = txtitems[i]
print("{:<10}{:<5}".format(word,count))
return txt
x=input("请输入一段英文字符:")
eng(x)
运行程序结果:
请输入一段英文字符: ababa
a 3
b 2