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中条件选择和循环语句使用方法介绍
Mar 13 Python
python使用json序列化datetime类型实例解析
Feb 11 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
Python decorator拦截器代码实例解析
Apr 04 Python
matplotlib jupyter notebook 图像可视化 plt show操作
Apr 24 Python
keras slice layer 层实现方式
Jun 11 Python
没编程基础可以学python吗
Jun 17 Python
最新Python idle下载、安装与使用教程图文详解
Nov 28 Python
用python批量下载apk
Dec 29 Python
python实现学生信息管理系统(面向对象)
Jun 05 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面向对象编程快速入门
2006/12/14 PHP
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
bpython 功能强大的Python shell
2016/02/16 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
python微信公众号开发简单流程实现
2020/03/09 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
优秀求职信范文分享
2014/01/26 职场文书
领导干部作风建设总结
2014/10/23 职场文书
2014年除四害工作总结
2014/12/06 职场文书
黑白记忆观后感
2015/06/18 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
python实现会员信息管理系统(List)
2022/03/18 Python
Python字符串的转义字符
2022/04/07 Python