大家一起學python-day4-統計數字、字母、下劃線的數量
阿新 • • 發佈:2018-12-29
#第一種 #直接通過範圍查詢 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,'個')