# 第一关 def frequency(str): freqs = {} # 请在此处编写您的代码 #********** Begin **********# #********** End **********# # 请不要修改下面的代码 return freqs def sortFreq(freqs): letters = freqs.keys() tuples = [] # 请在此处编写您的代码 #********** Begin **********# #********** End **********# # 请不要修改下面的代码 return tuples if __name__=="__main__": DNAs=['TAATTAGAAATTCTATTATA', 'AACTTAGAGATTCTTCTAGA', 'TGAGTAGAGATTCTCTTATA'] for dna in DNAs: freqs = frequency(dna) tuples = sortFreq(freqs) print(tuples) 在begin 和end之间补充完以上代码
时间: 2025-06-01 10:58:53 浏览: 18
### Python 实现字符频率统计和排序
以下是实现字符串中字符频率统计并按降序排列的完整代码:
```python
def count_character_frequency(input_string):
# 初始化一个字典用于存储字符及其对应的频率
frequency_dict = {}
# 遍历输入字符串中的每一个字符
for char in input_string:
# 如果字符是字母,则继续处理;否则跳过
if char.isalpha():
# 将字符统一转换为小写以忽略大小写的差异
char = char.lower()
# 更新字典中该字符的计数值
frequency_dict[char] = frequency_dict.get(char, 0) + 1
return frequency_dict
def sort_and_display(frequency_dict):
# 将字典转化为列表形式 [(char, freq), ...]
sorted_items = sorted(frequency_dict.items(), key=lambda item: item[1], reverse=True)
# 打印表头
print("字符\t频率")
# 输出排序后的结果
for char, freq in sorted_items:
print(f"{char}\t{freq}")
if __name__ == "__main__":
# 用户可以自定义输入字符串
user_input = "Hello World! This is an example string to demonstrate character frequency counting."
# 调用函数计算字符频率
frequencies = count_character_frequency(user_input)
# 对结果进行排序并显示
sort_and_display(frequencies)
```
#### 功能说明
1. **`count_character_frequency` 函数**
- 接收一个字符串作为参数。
- 使用 `isalpha()` 方法过滤掉非字母字符[^1]。
- 统一将字符转换成小写字母以便于忽略大小写的影响[^3]。
2. **`sort_and_display` 函数**
- 利用 `sorted()` 函数按照频率值对字典项进行降序排序[^5]。
- 结果通过表格的形式打印出来,便于阅读。
---
###
阅读全文
相关推荐
















