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设计模式之抽象工厂模式
Aug 25 Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 Python
详解python使用Nginx和uWSGI来运行Python应用
Jan 09 Python
Python处理中文标点符号大集合
May 14 Python
python中实现字符串翻转的方法
Jul 11 Python
简单了解python协程的相关知识
Aug 31 Python
python实现画循环圆
Nov 23 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
python和C++共享内存传输图像的示例
Oct 27 Python
python 下载文件的几种方法汇总
Jan 06 Python
Python机器学习之逻辑回归
May 11 Python
Python中的pprint模块
Nov 27 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中常用编辑器推荐
2007/01/02 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
python实现学生管理系统
2018/01/11 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
Python----数据预处理代码实例
2019/03/20 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
与UNIX有关的几个名词
2015/09/17 面试题
安全检查管理制度
2014/02/02 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
研发工程师岗位职责
2014/04/28 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
催款通知书范文
2015/04/17 职场文书
环保守法证明
2015/06/24 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫