【Python】统计字符串中英⽂、空格、数字、标点个数
题外话:今天打酱油的做了⽹易数据挖掘⼯程师的在线笔试题,被打击了。
本⽂代码可在 下载。
200英镑问题
在⽹上⽆意间看到这么⼀个题⽬:统计⼀个字符串中的中英⽂、空格、数字、标点符号个数。
正好再熟悉⼀下 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
商鞅的妻子是谁
el:
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','space','digit','punc'])(s_len, count_zh, count_en, count_sp, count_dg, count_pu)
el:
print('Something is wrong!')
return None
return None
s ='上⾯是引⽤了官⽹的介绍,意思就是说 TensorBoard 就是⼀个⽅便你理解、调试、优化 TensorFlow 程序的可视化⼯具,你可以可视化你的 TensorFlow g raph、学习参数以及其他数据⽐如图像。'
count = str_count(s)
print(s, end='\n\n')
云南有什么山print('该字符串共有 {} 个字符,其中有 {} 个汉字,{} 个英⽂,{} 个空格,{} 个数字,{} 个标点符号。'.al, count.zh, , count.space, cou nt.digit, count.punc))
将上⾯的程序保存到 str_count.py,然后执⾏测试下:高原红歌词
$ python str_count.py
上⾯是引⽤了官⽹的介绍,意思就是说 TensorBoard 就是⼀个⽅便你理解、调试、优化 TensorFlow 程序的可视化⼯具,你可以可视化你的 TensorFlow graph 、学习参数以及其他数据⽐如图像。林冲上梁山
该字符串共有 107 个字符,其中有 59 个汉字,36 个英⽂,6 个空格,0 个数字,6 个标点符号。
那个⽤于测试的字符串 s 源⾃ ,⾸先输出原始字符串,然后输出中英⽂、空格、数字、标点符号各⾃的个数。
以后有好的想法再来优化这个程序,⼤家有什么好的想法也欢迎可以在评论区留⾔。
END电力线路