输入一行字符串,统计其中英文字母、空格、数字和其他字符的个数及其字符串所占的百分比,用Python程序编写简洁一点
时间: 2024-11-25 18:20:48 浏览: 0
在Python中,你可以使用内置的`str`函数以及几个标准库模块如`collections`和`re`来完成这个任务。以下是一个简单的程序示例:
```python
import re
from collections import Counter
def count_char_types(s):
# 使用正则表达式匹配字母、空格和数字
pattern = r"[a-zA-Z\s0-9]"
# 使用Counter计算每种类型的字符出现次数
counts = Counter(re.findall(pattern, s))
# 总字符数
total_chars = len(s)
results = {
'英文字母': counts.get('a-zA-Z', 0),
'空格': counts.get(' ', 0),
'数字': counts.get('\d', 0),
'其他字符': total_chars - sum(counts.values()),
'总字符数': total_chars,
'百分比': {k: (v / total_chars) * 100 for k, v in counts.items()}
}
return results
# 测试输入字符串
input_str = "Hello, World! This is a test string with numbers 123."
print(count_char_types(input_str))
阅读全文