python实现字符串中字符分类及个数统计


Posted in Python onSeptember 28, 2018

输入一个字符串,分别统计出其中英文字母、空格、数字和其它字符的个数,本文给出解决方法

编写思路:

1、字符串的遍历,和列表类似,可以把字符串当做元素都是一个字符的一个字符列表,它可以和列表有公共的语法
2、分不同的类别,若有符合条件的字符直接在类别数上加1就可以

初始代码:

# -*- coding:utf-8 -*-
letter=0
number=0
space=0
symbol=0
print "请输入字符串:"
s=raw_input()
for char in s:
  if char>'a' and char<'z' or char>'A' and char<'Z':
    letter+=1
  elif 0<=char<=9:
    number+=1
  elif char==[' ','  ']:
    space+=1
  else:
    symbol+=1
print "字母数量,数字数量,空格数量,其他字符数量分别为:"
print letter,number,space,symbol

错误之处:

1、if char>='a' and char=<'z' or char>='A' and char=<'Z':可以写成if 'a'<=char<='z' or 'A'<=char<='Z':更加简洁;
2、elif 0<=char<=9:也应该是'0'<=char<='9',字符(字符串)必须加引号‘  'or  ”  “,但举例如下:

print '0'<='2ab'<='9'1

运行结果输出的是True

- - -在Python中没有“字符”的概念,哪怕是char都是一个字符串,Python对于字符串不会敏感分析是不是只有一个字符,而是都可以进行判断。
- - -上述例子的‘2ab'并不是一个数字,而是一个字符串,在本题中虽然没有问题,因为已经取出单个字符串了。但是很多情况对字符串的判断需求非常严格,所以要严格判断它确实是一个字符串,使用isdigit
- - -isdigit()方法,可以判断一个字符串是不是数字,即如果一个字符串里的所有字符都是数字,它才是True,否则是False

3、elif char==[' ','    ']:应该是elif char in [' ',' ']:

[ ]是列表,所以应用in。in不仅可以用在列表,元组,字典都能用;用在元组跟列表是一样的意思;用在字典里,意思是有没有这个键

4、elif虽然与else if用法相同,但是不能直接写成else if,因为python语法规定,else后面必须要有冒号(复合语句),直接写个if就会报错了,可写为:

else:
  if char.isdigit():
      number+=1123

5、输出换成print letter+' '+number+' '+space+' '+symbol

会报错TypeError: unsupported operand type(s) for +: 'int' and 'str'
一个是整形,一个是字符串,不能直接加,需要格式化输出,格式为:print “%X”%变量

修改后代码:

# -*- coding:utf-8 -*-
letter=0
number=0
space=0
symbol=0
print "请输入字符串:"
s=raw_input()
for char in s:
  if 'a'<=char<='z' or 'A'<=char<='Z':
    letter+=1
  elif char.isdigit():
    number+=1
  elif char in [' ',' ']:
    space+=1
  else:
    symbol+=1
print "字母数量,数字数量,空格数量,其他字符数量分别为:"
print letter,number,space,symbol

格式化输出的修改代码如下:

# -*- coding:utf-8 -*-
letter=0
number=0
space=0
symbol=0
print "请输入字符串:"
s=raw_input()
for char in s:
  if 'a'<=char<='z' or 'A'<=char<='Z':
    letter+=1
  elif char.isdigit():
      number+=1
  elif char in [' ',' ']:
    space+=1
  else:
    symbol+=1

tempTuple=(letter,number,space,symbol)
print "字母数量,数字数量,空格数量,其他字符数量分别为:%d,%d,%d,%d"%tempTuple

格式为print “数字数量为:%d”%number
其中:%d是格式,表示想输出一个整型变量,number是对应替换这个格式的变量,意思是对应%d的输出。若有多个格式,记住变量是按顺序逐个匹配的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python解析xml文件实例分享
Dec 04 Python
Python实现115网盘自动下载的方法
Sep 30 Python
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
基于DataFrame筛选数据与loc的用法详解
May 18 Python
Python获取时间戳代码实例
Sep 24 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
Sep 15 Python
细说NumPy数组的四种乘法的使用
Dec 18 Python
python中使用zip函数出现错误的原因
Sep 28 #Python
python中的for循环
Sep 28 #Python
Django migrations 默认目录修改的方法教程
Sep 28 #Python
python数据结构之线性表的顺序存储结构
Sep 28 #Python
python实现顺序表的简单代码
Sep 28 #Python
linux安装Python3.4.2的操作方法
Sep 28 #Python
python求质数的3种方法
Sep 28 #Python
You might like
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
js中document.write的那点事
2014/12/12 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
Angular5中状态管理的实现
2018/09/03 Javascript
深入学习JavaScript中的bom
2019/05/27 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
Django框架视图函数设计示例
2019/07/29 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
简单介绍django提供的加密算法
2019/12/18 Python
python导入库的具体方法
2020/06/18 Python
Selenium 安装和简单使用的实现
2020/12/04 Python
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
学校卫生检查制度
2014/02/03 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
小学课外活动总结
2014/07/09 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
小学感恩主题班会
2015/08/12 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle