一、题目
问题描述
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
输入
输入包括一行
输出
输出包括一行,中英文字母、空格、数字和其它字符的个数
样例
输入 | 输出 |
---|---|
sdf34 567_) #1as\ | 5 3 6 4 |
二、解析
使用input()函数获取用户输入的字符串。
初始化四个变量:letters、space、digit、others,分别用于计数字母、空格、数字和其他类型的字符。
遍历字符串中的每个字符c。
如果c是字母(使用c.isalpha()判断),则letters加1。
如果c是空格(使用c.isspace()判断),则space加1。
如果c是数字(使用c.isdigit()判断),则digit加1。
如果c不是上述任何一种类型,则others加1。
使用print函数输出这四种类型字符的数量。
三、代码实现
import string
s = input('请输入一个字符串:\n')
letters = 0
space = 0
digit = 0
others = 0
for c in s:
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print(letters, space, digit, others)
注意
1.该程序只能处理单行字符串输入。
2.它对所有非字母、非空格和非数字的字符都归类为其他类型,包括标点符号、特殊字符等。