题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

一、参考解法:

import re
def splitFunc( ):
    tmpStr = input('请输入字符串:')
    charNum = 0
    digNum = 0
    spaceNum = 0
    otherNum = 0
    for i in range(len(tmpStr)):
        if re.match('[a-zA-Z]',tmpStr[i]):
            charNum +=1
        elif re.match('\d',tmpStr[i]):
            digNum +=1
        elif re.match('\s',tmpStr[i]):
            spaceNum +=1
        else:
            otherNum +=1
    print('字符:',charNum)
    print('数字:',digNum)
    print('空格:',spaceNum)
    print('其他:',otherNum)
splitFunc()

二、参考解法:

s =input('请输入字符串:')
dic={'letter':0,'integer':0,'space':0,'other':0}
for i in s:
    if i >'a' and i<'z' or i>'A' and i<'Z' :
        dic['letter'] +=1
    elif i in '0123456789':
        dic['integer'] +=1
    elif i ==' ':
        dic['space'] +=1
    else:
        dic['other'] +=1
       
print('统计字符串:',s)
print(dic)
print('------------显示结果2---------------') 
for i in dic:
    print('%s='%i,dic[i])
print('------------显示结果3---------------') 
for key,value in dic.items():
    print('%s='%key,value)

猜你喜欢

转载自www.cnblogs.com/python-xkj/p/9225985.html