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 相关文章推荐
pyqt4教程之实现windows窗口小示例分享
Mar 07 Python
python用字典统计单词或汉字词个数示例
Apr 22 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
python2 与 pyhton3的输入语句写法小结
Sep 10 Python
Python开发网站目录扫描器的实现
Feb 21 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
python如何基于redis实现ip代理池
Jan 17 Python
深入浅析python的第三方库pandas
Feb 13 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 Python
python opencv通过4坐标剪裁图片
Jun 05 Python
Python实现随机生成迷宫并自动寻路
Jun 13 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
php远程下载类分享
2016/04/13 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
Python将xml和xsl转换为html的方法
2015/03/10 Python
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
Python 硬币兑换问题
2019/07/29 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
办公室前台的岗位职责
2013/12/20 职场文书
职工运动会邀请函
2014/01/19 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
初中班主任寄语
2014/04/04 职场文书
《雪儿》教学反思
2014/04/17 职场文书
会员活动策划方案
2014/08/19 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
担保书范本
2015/01/20 职场文书