输入一个字符串,统计并输出该字符串中大写字母、小写字母、数字和其它字符的个数,重复以上操作,如果输入字符串’0’则退出程序。要求用两种方法实现:方法一循环遍历字符串统计(不用正则表达式),方法二用re模块的方法或正则表达式对象的方法。
- 循环遍历
# 循环遍历字符串统计
while True:
s = input()
if s == '0':
break
A, a, n, o = 0, 0, 0, 0 # 大写字母,小写字母, 数字,其他字符
for i in s:
if i.isupper():
A += 1
elif i.islower():
a += 1
elif i.isalnum():
n += 1
else:
o += 1
print(f'大写字母有{A}个,小写字母有{a}个,数字有{n}个,其他字符有{o}个')
- re模块或正则表达式对象
# 用re模块的方法或正则表达式对象的方法
import re
while True:
s = input()
if s == '0':
break
A = re.findall('[A-Z]', s)
a = re.findall('[a-z]', s)
n = re.findall('[0-9]', s)
o = re.findall('[^a-zA-Z0-9]', s)
print(f'大写字母有{len(A)}个,小写字母有{len(a)}个,数字有{len(n)}个,其他字符有{len(o)}个')