题目
统计字符串中大写字母、小写字母、数字和空格出现的次数
解法一
遍历字符串,使用字符串内建函数判断
代码如下:
#!/usr/bin/python# -*- coding:UTF-8 -*-class StatisticStr2(object):def statistic_str(self, s):lower_char, upper_char, num, blank = 0, 0, 0, 0for i in s:if i.isdigit():num += 1if i.isalpha() and i.islower():lower_char += 1if i.isalpha() and i.isupper():upper_char += 1if i.isspace():blank += 1return lower_char, upper_char, num, blankif __name__ == '__main__':s = 'ada 13 r434IDNdqd11341 QNasd 02'ss = StatisticStr2()lower_char, upper_char, num, blank =ss.statistic_str(s)print lower_char, upper_char, num, blank
解法二
使用正则表达式
代码如下:
#!/usr/bin/python# -*- coding:UTF-8 -*-import reclass StatisticStr(object):def statistic_str(self, s):lower_char = re.findall(r'[a-z]', s)upper_char = re.findall(r'[A-Z]', s)num = re.findall(r'[0-9]', s)blank = re.findall(r' ', s)return lower_char, upper_char, num, blankif __name__ == '__main__':s = 'ada 13 r434IDN QNasd 02'ss = StatisticStr()lower_char, upper_char, num, blank =ss.statistic_str(s)print len(lower_char), len(upper_char), len(num), len(blank)