实例:使用while循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| import string
s1 = input('请输入一个字符串:\n')
letters = 0
space = 0
digit = 0
others = 0
i = 0
while i < len(s1):
c = s1[i]
i += 1
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print('char=%d,space=%d,digit=%d,others=%d' % (letters, space, digit, others))
|
备注: len() 方法返回对象(字符、列表、元组等)长度或项目个数;
isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False;
isspace() 如果字符串中只包含空格,则返回 True,否则返回 False;
isdigit() 如果字符串只包含数字则返回 True 否则返回 False。
实例:使用for循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| import string
s2=input('请输入一个字符串:')
letters=0
space=0
digit=0
others=0
i=0
for c in s2:
if c.isalpha(): letters+=1 elif c.isspace(): space+=1 elif c.isdigit(): digit+=1 else: others+=1
print('char=%d,space=%d,digit=%d,others=%d' % (letters,space,digit,others))
|
isdigit() 如果字符串只包含数字则返回 True 否则返回 False。
1 2 3 4 5 6 7
| print('12345'.isdigit())
print('①②'.isdigit())
print('汉字'.isdigit())
print('%#¥'.isdigit())
|
isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False;
1 2 3 4 5
| print('abc汉字'.isalpha())
print('ab字134'.isalpha())
print('*&&'.isalpha())
|
isalnum()中至少有一个字符且如果S中的所有字符都是字母数字,那么返回结果就是True;否则,就返回False
1 2 3 4 5
| print('abc汉字1'.isalnum())
print('①②③'.isalnum())
print('%……&'.isalnum())
|
注意点:
1.python官方定义中的字母:大家默认为英文字母+汉字即可
2.python官方定义中的数字:大家默认为阿拉伯数字+带圈的数字即可
相信只要理解到这两点,这三个函数的在使用时的具体返回值,大家就很明确了~~