import re
def handle(text):
diglet = len(re.findall("[A-Z]", text))
lower = len(re.findall("[a-z]", text))
num = len(re.findall("[0-9]", text))
other = len(re.findall("[^A-Za-z0-9]", text))
return (diglet, lower, num, other) 可以参照评论中的re模块findall逻辑
def main():
list=[]
str_input=input('输入字符串:')
for i in str_input:;
if i isupper():
list[0]+=1
elif i islower(): list[1]+=1
elif i isnumeric(): list[2]+=1
else:
list[3]+=1
tup=tuple(list)
print(tup) if __name__=='__main__':
main() import re statistical_list=[] re_str='hjaasUI1***' AZ = re.findall(r'[A-Z]',re_str) statistical_list.append(len(AZ)) az = re.findall(r'[a-z]',re_str) statistical_list.append(len(az)) zj=re.findall(r"\d",re_str) statistical_list.append(len(zj)) other_num=re.findall(r"\W",re_str) statistical_list.append(len(other_num)) statistical_tu=tuple(statistical_list) print(statistical_tu)
# MySam123$2@ import re def func(mystr): pass big = len(re.findall(r'[A-Z]',mystr)) ***all = len(re.findall(r'[a-z]', mystr)) num = len(re.findall(r'[0-9]', mystr)) ot = len(re.findall(r'[^a-zA-Z0-9]', mystr)) print big, ***all, num, ot return big, ***all, num, ot mystr = raw_input("请输入一串字符串:") func(mystr)
re.finall("\d", string),返回包含所有数字的列表。用tuple(list)转化为元组,其他同理。