方法一:使用正则表达式
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)}")