用python编写问题:输入一个长单词,找到出现最多的字母和这个字母出现的次数,次数相同的字母输出单词中最先出现的字母。 拓展: 次数相同的字母按字母表顺序输出字母
时间: 2024-09-15 18:06:53 浏览: 12
你可以使用Python编写以下程序来解决这个问题,这里我们使用字典存储每个字符及其出现次数,并遍历一次字符串,以保持最早出现的字母记录:
```python
def find_most_common_char(word):
# 初始化字典来存储字母和它们的出现次数
char_count = {}
# 最常出现的字母及其次数
max_freq_char = None
max_freq = 0
# 遍历单词,更新字符计数并检查最大频率
for char in word:
if char.isalpha(): # 只考虑字母
char_count[char] = char_count.get(char, 0) + 1
if char_count[char] > max_freq:
max_freq = char_count[char]
max_freq_char = char
# 按照字母表顺序查找等频次的字母
sorted_chars = sorted(char_count.items(), key=lambda x: (x[1], x[0]))
result = [char for char, freq in sorted_chars if freq == max_freq]
return max_freq_char, max_freq, result
# 测试函数
word = input("请输入一个长单词:")
most_common_char, frequency, occurrences = find_most_common_char(word)
print(f"最常出现的字母是 '{most_common_char}',出现了 {frequency} 次。")
if occurrences:
print(f"出现同样次数的字母有:{''.join(occurrences)}")
else:
print("没有出现同样次数的字母。")