输入一行字符串,统计其中英文字母、空格、数字和其他字符的个数及其字符串所占的百分比,用Python程序编写
时间: 2024-11-25 22:20:35 浏览: 15
你可以使用Python的内置函数和正则表达式库`re`来实现这个功能。以下是一个简单的示例程序:
```python
def count_chars(s):
# 分类计数
alpha_count = sum(1 for c in s if c.isalpha()) # 英文字母
space_count = s.count(' ') # 空格
digit_count = sum(1 for c in s if c.isdigit()) # 数字
other_count = len(s) - (alpha_count + space_count + digit_count) # 其他字符
# 计算百分比
total_length = len(s)
percentages = {
'字母': (alpha_count / total_length) * 100,
'空格': (space_count / total_length) * 100,
'数字': (digit_count / total_length) * 100,
'其他': (other_count / total_length) * 100
}
return alpha_count, space_count, digit_count, other_count, percentages
# 测试
s = "Hello, World! This is a test string with 123 numbers."
result = count_chars(s)
print(f"字母: {result[0]} ({result[4]['字母']}%)")
print(f"空格: {result[1]} ({result[4]['空格']}%)")
print(f"数字: {result[2]} ({result[4]['数字']}%)")
print(f"其他: {result[3]} ({result[4]['其他']}%)")
```
在这个程序中,我们首先遍历字符串`s`,分别计算字母、空格和数字的数量。然后,通过减去这三者之和得到其他字符的数量。最后,计算每种类型的百分比,并返回结果。
阅读全文