1、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
方法一:使用正则表达式
import re str1 = input("请输入一行字符串:") alpha = 0 #英文字母 space = 0 #空格 digit = 0 #数字 other = 0 #其他 for i in str1: # print(i) if re.findall(r"[A-Za-z]",i): alpha += 1 elif re.findall(r"\s", i): space += 1 elif re.findall(r"\d",i): digit += 1 else: other += 1 print(f"{str1}中的英文字母个数为:{alpha}") print(f"{str1}中的空格个数为:{ space}") print(f"{str1}中的数字个数为:{digit}") print(f"{str1}中的其他字符个数为:{other}")
方式二:
while True: str1 = input("请输入一行字符串:") alpha = 0 #英文字母 space = 0 #空格 digit = 0 #数字 other = 0 #其他 for i in str1: if i.isalpha(): alpha += 1 elif i.isspace(): space += 1 elif i.isdigit(): digit += 1 else: other += 1 print(f"{str1}中的英文字母个数为:{alpha}") print(f"{str1}中的空格个数为:{ space}") print(f"{str1}中的数字个数为:{digit}") print(f"{str1}中的其他字符个数为:{other}")
方式三:使用列表[]
while True: str1 = input("请输入一行字符串:") alpha = [] #英文字母 space = [] #空格 digit = [] #数字 other = [] #其他 for i in str1: if i.isalpha(): alpha.append(i) elif i.isspace(): space.append(i) elif i.isdigit(): digit.append(i) else: other += 1 print(f"{str1}中的英文字母个数为:{len(alpha)}") print(f"{str1}中的空格个数为:{len(space)}") print(f"{str1}中的数字个数为:{len(digit)}") print(f"{str1}中的其他字符个数为:{len(other)}")