统计不同的字符个数,有判断函数要求

统计不同字符个数。用户从键盘键入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数。(判断函数:判断是否为数字isdigit(),判断是否为空格isspace(),判断是否为字母isalpha())

s = input()
stats={'数字':0,'字母':0,'空格':0,'其他字符':0}
for i in s:
    if i.isdigit():
        stats['数字']+=1
    elif i.isalpha():
        stats['字母']+=1
    elif i.isspace():
        stats['空格']+=1
    else:
        stats['其他字符']+=1
print(stats)

给你个思路
def isdigit(var: str):
return ord(var) in range(48, 57)

string = input("请输入一行字符")
string_list = string.split()
digit_cout = len([d for d in string_list if isdigit(d)])

比较精简的写法:

string = [[i.isalpha(),i.isdigit(),i.isspace()] for i in input('请输入一行字符:')]
counts = [sum(sum(filter(lambda x:x[i],string),[])) for i in range(3)]
counts += [len(string)-sum(counts)]
print('英文字符、数字、空格和其他字符的个数分别为:',*counts)