#编写程序,对给定字符串中出现的a-z字母频率进行分析
#忽略大小写,采用降序方式输出
a=input("请输入一串字符:")
b=[] #生成空列表,也可以用list()
for i in a:
#if "\u0041"<=i<="\u005A" or "\u0061"<=i<="\u007A": #通过Unicode编码判段英文字符
if "\u4e00"<=i<="\u9fa5": #同理判断中文字符
b.append(i)
else:
continue
txt="" #生成空字符串,也可以用str()
txt=txt.join(b) #将列表的元素组合成一个字符串
txt=txt.lower() #将大写字母转化成小写
counts={} #生成空字典,也可以用dict()
for word in txt:
counts[word]=counts.get(word,0)+1 #统计某一字母出现的次数,生成了(字母:次数)这样的键值对
items=list(counts.items()) #将字典中的键值对以列表中的元组(字母,次数)保持下来
items.sort(key=lambda x:x[1],reverse=True)#将列表中的元组以元组的第二个值(即次数)降序排列
c=len(items)
for i in range(c): #依次打印
word,count=items[i]
print("字母{}出现了{}次".format(word,count))
Python计算机二级考试备考(中、英文字符频率统计)
最新推荐文章于 2024-07-11 10:53:03 发布