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 相关文章推荐
pytyon 带有重复的全排列
Aug 13 Python
python中使用enumerate函数遍历元素实例
Jun 16 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
python中pytest收集用例规则与运行指定用例详解
Jun 27 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 Python
通过实例解析Python RPC实现原理及方法
Jul 07 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
详解torch.Tensor的4种乘法
Sep 03 Python
使用Python Tkinter实现剪刀石头布小游戏功能
Oct 23 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把网页保存为word文件的三种方法
2014/04/01 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
js实现tab切换效果
2017/02/16 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
Linux下编译安装MySQL-Python教程
2015/02/02 Python
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
Python 处理图片像素点的实例
2019/01/08 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
python实现字典嵌套列表取值
2019/12/16 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
2014年大学生自我评价
2014/01/19 职场文书
京剧自荐信
2014/01/26 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技