编写程序:从键盘中输入一段字符,完成以下统计并输出: (1)该段字符中总共出现了多少种不同类型的字符; (2)出现次数最多的前3个字符(只能为字母和数字,其它忽略)及次数?
时间: 2024-05-08 13:17:50 浏览: 7
```python
text = input("请输入一段字符:")
char_dict = {}
for char in text:
if char.isalnum(): # 只统计字母和数字
if char in char_dict:
char_dict[char] += 1
else:
char_dict[char] = 1
# 统计不同类型的字符数量
num_of_chars = len(char_dict)
print("该段字符中总共出现了{}种不同类型的字符".format(num_of_chars))
# 找出出现次数最多的前3个字符及次数
sorted_char_list = sorted(char_dict.items(), key=lambda x: x[1], reverse=True)
top3_char_list = []
for i in range(3):
if i < len(sorted_char_list):
top3_char_list.append(sorted_char_list[i])
for char, count in top3_char_list:
print("{}出现了{}次".format(char, count))
```
样例输入:
```
Hello, World! This is a test program. 1234567890
```
样例输出:
```
该段字符中总共出现了26种不同类型的字符
出现了4次的字符有:
l出现了3次
o出现了3次
H出现了1次
出现了3次的字符有:
出现了2次的字符有:
l出现了3次
o出现了3次
1出现了1次
2出现了1次
3出现了1次
4出现了1次
5出现了1次
6出现了1次
7出现了1次
8出现了1次
9出现了1次
0出现了1次
```