题目:任意输入一段字符,将不同字符的个数统计出来。
做题之前,我们先认识一个函数 string
养成help()的习惯。
>>>help(string)
里面回有这么一段:
DATA
__all__ = ['ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'cap...
ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
digits = '0123456789'
hexdigits = '0123456789abcdefABCDEF'
octdigits = '01234567'
printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU...
punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
whitespace = ' \t\n\r\x0b\x0c'
这一段定义了字符的类型名称及字符集。这个函数的作用就是用来描述字符的定义。那么下面的代码就不难理解了。
代码:
#!/usr/bin/python3
import string #该函数需要声明才能使用
letter = 0
digit = 0
punctuation = 0
a = input('请输入一段字符:',)
for b in a:
if b in string.ascii_letters:
letter += 1 #计数作用
elif b in string.digits:
digit += 1
elif b in string.punctuation:
punctuation += 1
print ('字母数:',letter,';','数字数:',digit,';','特殊字符数:',punctuation)
结果:
>>>
请输入一段字符:GOJSPGSPGI0-5439dfjsdfjsofjsw9fskg.,/.s,;lf]sf\\;\
字母数: 32 ; 数字数: 6 ; 特殊字符数: 12