输入一行字符输出其中英文字符,数字,空格和其他字符的个数。这个其他字符怎么数,我不知道为啥错了,总是0

输入一行字符输出其中英文字符,数字,空格和其他字符的个数。这个其他字符怎么数,我不知道为啥错了,总是0

问题描述:

a = input("请输入:")
x=d=s=k=q=t=0
for i in a:
if 'a'<=i<='z':
x=x+1
elif 'A'<=i<='Z':
d+=1
elif '0'<=i<='9':
s+=1
elif ' ':
k+=1
else:
t=x+d+s+k
q=int(len(a)-t)
print("小写字母{},大写字母{},数字{},空格{},其他{}".format(x,d,s,k,q))

img

a = input("请输入:")
x=d=s=k=q=t=0
for i in a:
    if 'a'<=i and i<='z':  # 最好分开
        x=x+1
    elif 'A'<=i and i<='Z':  # 最好分开
        d+=1
    elif '0'<=i and i<='9':  # 最好分开
        s+=1
    elif i==' ':  # 注意这里
        k+=1
    else:
        q+=1  # 注意这里
    #q=int(len(a)-t)
print("小写字母{},大写字母{},数字{},空格{},其他{}".format(x,d,s,k,q))

if 'a'<=i<='z':
条件语句不能这样写,改为
if 'a'<=i and i<='z':
下面的其他代码依次改一下。

elif ' ':
改为
elif i==' ':

把空格那个改一下就好了,改成==