1.问题描述:接收用户输入字符串,判断不同类型的字符串的个数
2.案列代码
(1)通过test_str接收字符串(注:input()默认输入的是字符串)
(2)将接收四种不同类型的字符数量的变量初始化为0,通过逐一判断累加确定总个数。
(3)用for循环将字符串中的每一个元素取出,通过if判断对应类型。
import string
# 接收用户输入字符串,计算不同字符类型的变量初始值为0,通过循环遍历字符串逐个判断对应的类型。
test_str = input("请输入要检验的字符串:")
blank = 0
letter = 0
num = 0
other = 0
print(test_str)
for i in test_str:
if i == ' ':
blank += 1
elif i.isdigit():
num +=1
elif i in string.ascii_letters:
letter += 1
else:
other += 1
print("字母有%d个,数字有%d个,空格有%d个,其他字符有%d个" %(letter, num, blank, other))
3.知识点:
(1)string.isdigit()判断字符自身是否为数字字符。
扩展:区别isdecimal 、isdigit、isnumeric的异同。
(2)string模块:在本案例中使用了string.ascii_letters获取26个大写字母和26个小写字母。
扩展:string模块其他的方法。