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)转化为元组,其他同理。