大家一起学python-day4-统计数字、字母、下划线的数量

#第一种
#直接通过范围查找
shuzi =0
zhimu =0
xiahuaxian =0
qita =0
a = 'dsadasd34sda3dfsf_gfd???'
b = len(a)
for i in range(0,b):
    if a[i]>='1' and a[i]<='9':
        shuzi+=1
    elif a[i]>='a' and a[i]<='z' or a[i]>='A' and a[i]<='Z':
        zhimu+=1
    elif a[i]=='_':
        xiahuaxian+=1
    else:
        qita+=1
print("数字是:",shuzi,'个')
print("字母是:",zhimu,'个')
print("下划线是:",xiahuaxian,'个')
print("其他是:",qita,'个')

#第二种
#用字符串里面的函数方法
shuzi =0
zhimu =0
xiahuaxian =0
qita =0
a = 'dsadasd34sda3dfsf_gfd???'
b = len(a)
for i in range(0,b):
    if a[i].isdigit()==True:
        shuzi+=1
    elif a[i].isalpha()==True:
        zhimu+=1
    elif a[i]=='_':
        xiahuaxian+=1
    else:
        qita+=1
print("数字是:",shuzi,'个')
print("字母是:",zhimu,'个')
print("下划线是:",xiahuaxian,'个')
print("其他是:",qita,'个')

#第三种
#用ascll码
shuzi =0
zhimu =0
xiahuaxian =0
qita =0
a = ord('a')
z = ord('z')
A = ord("A")
Z = ord('Z')
one = ord('1')
nine = ord('9')


c = 'dsadasd34sda3dfsf_gfd???'
b = len(c)
for i in range(0,b):
    if ord(c[i])>=one and ord(c[i])<=nine:
        shuzi+=1
    elif ord(c[i])>=a and ord(c[i])<=z or ord(c[i])>=A and ord(c[i])<=Z:
        zhimu+=1
    elif c[i]=='_':
        xiahuaxian+=1
    else:
        qita+=1
print("数字是:",shuzi,'个')
print("字母是:",zhimu,'个')
print("下划线是:",xiahuaxian,'个')
print("其他是:",qita,'个')

猜你喜欢

转载自blog.csdn.net/weixin_44239343/article/details/85272106