1. 程式人生 > >大家一起學python-day4-統計數字、字母、下劃線的數量

大家一起學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,'個')