题外话:今天打酱油的做了**数据挖掘工程师的在线笔试题,被打击了。
本文代码可在 这里 下载。
问题
在网上无意间看到这么一个题目:统计一个字符串中的中英文、空格、数字、标点符号个数。
正好再熟悉一下 Python 中字符串相关方法,所以来做一下。
代码# coding: utf-8
import string
from collections import namedtuple
def str_count(s):
'''找出字符串中的中英文、空格、数字、标点符号个数'''
count_en = count_dg = count_sp = count_zh = count_pu = 0
s_len = len(s)
for c in s:
if c in string.ascii_letters:
count_en += 1
elif c.isdigit():
count_dg += 1
elif c.isspace():
count_sp += 1
elif c.isalpha():
count_zh += 1
else:
count_pu += 1
total_chars = count_zh + count_en + count_sp + count_dg + count_pu
if total_chars == s_len:
return namedtuple('Count', ['total', 'zh', 'en