【问题描述】

统计一行字符的大写字母,小写字母和数字的个数。先输出大写字母个数,再输出小写字母个数,最后输出数字个数。

【输入形式】

ljaij1A

【输出形式】

1

5

1

【提示】

用字符串的方法isupper, islower来判别大小写。isdigit来判断是否是数字。

a = input()
daxie, xiaoxie, shuzi = 0, 0, 0
for i in a:
    if i.islower():
        xiaoxie += 1
    elif i.isupper():
        daxie += 1
    elif i.isdigit():
        shuzi += 1
print(daxie)
print(xiaoxie)
print(shuzi)

islower函数是检测字符串中字母是否都是小写字母,若全部都是由小写字母组成,则返回True,否则返回False。islower函数没有参数。

举例:

a = "this is a"
b = "this is b.1321321/*"
c = "this is c.1321321A"
print(a.islower())
print(b.islower())
print(c.islower())

输出结果:

True
True
False

isupper函数是检测字符串中字母是否都是大写字母,若全部都是由大写字母组成,则返回True,否则返回False。isupper函数没有参数。

举例:


a = 'HELLO WORLD'
b = 'Hello World'
c = 'HELLO WORLD 2019'
d = ''
e = '2019'
f = 'ÂƁȻ2019'
print(a.isupper())
print(b.isupper())
print(c.isupper())
print(d.isupper())
print(e.isupper())
print(f.isupper())

输出结果:

True    #a 因为所有大小写的字符均为大写
False   #b 因为有一些小写的大小写字符
True    #c 因为所有大小写的字符均为大写。 字符串中的数字不是大小写字符
False   #d 因为字符串为空
False   #e 因为e字符串中没有任何小写的字符
True    #f 因为字符串中所有大小写的字符均为大写

isdigit函数检测字符串是否只由数字组成,若全部由数字组成,则返回True,否则返回False。

举例:

a='123'
b='aa234'
c='中文'
d='12+6'
print(a.isdigit())
print(b.isdigit())
print(c.isdigit())
print(d.isdigit())

输出结果:

True
False
False
False

扩展:

isalnum()所有字符都是数字或者字母
isalpha()所有字符都是字母
isdigit()所有字符都是数字
islower()所有字符都是小写
isupper()所有字符都是大写
istitle()所有单词都是首字母大写,像标题
isspace()所有字符都是空白字符、\t、\n、\r

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐