Python----统计字符串中的英文字母、空格、数字和其它字符的个数。

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)}")

你可能感兴趣的