大爽Python入门练习题 18 字母次数统计

大爽Python入门练习题总目录

第一章 中期练习题 简单 第6题

题目

简介

实现一个程序,
输入一个字符串(接收用户输入),
展示其中每个字母及其出现的频率(逐行输出)。
按照频率高低顺序输出,频率高的先输出。

补充:
默认输入非空。
默认输入字符串中只有字母,没有其他字符。

详细说明

比如banana这个字符串。
其中
b出现了1次
a出现了3次
n出现了2次

输出格式如下

a 3
n 2
b 1

示例

输入: banana
输出:

a 3
n 2
b 1

输入: success

s 3
c 2
u 1
e 1

输入: semester
输出:

e 3
s 2
m 1
t 1
r 1

分割线

本小段没有实际意义,
仅用于分隔题目和答案。
防止学生无意中直接看到答案,
影响思路。



















答案

word = input()

counts = {}
for letter in word:
    if letter not in counts:
        counts[letter] = 1
    else:
        counts[letter] += 1

sorted_counts = sorted(counts.items(), key=lambda item: item[1], reverse = True)
for letter, count in sorted_counts:
    print(letter, count)
原文地址:https://www.cnblogs.com/BigShuang/p/15669373.html