‘‘‘输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
统计出英文字母字符的个数
‘‘‘
# -*- coding: utf-8 -*-
import re
#正则表达式匹配
def isMathc(src,pat):
pattern = re.compile(pat)
result = re.match(pattern,src)
if result == None:
return 0
else:
return 1
#判断单个字符的种类:
def chargeType(character):
# 数组中的三个元素分别代表英文字母,数字,和空格
type_num = [‘[a-z]|[A-Z]‘, ‘\d‘, ‘\s‘]
# 判断是否为英文字母
if isMathc(character, type_num[0]) == 1:
return 1
elif isMathc(character, type_num[1]) == 1:
return 2
elif isMathc(character, type_num[2]) == 1:
return 3
else:
return 4
def getCharNum(str):
count = []
for i in range(4):
count.append(0)
print(len(count))
for i in range(len(str)):
if chargeType(str[i])==1:
count[0]+=1
elif chargeType(str[i])==2:
count[1]+=1
elif chargeType(str[i])==3:
count[2]+=1
else:
count[3]+=1
return count
str=‘asc ss./ 124‘
print(getCharNum(str))
原文地址:http://9603083.blog.51cto.com/9593083/1872364