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教程之实现半透明的天气预报界面示例
Mar 02 Python
Python开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
centos系统升级python 2.7.3
Jul 03 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
pyhanlp安装介绍和简单应用
Feb 22 Python
python如何实现代码检查
Jun 28 Python
Python 实现opencv所使用的图片格式与 base64 转换
Jan 09 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
Python模块zipfile原理及使用方法详解
Aug 04 Python
运行Python编写的程序方法实例
Oct 21 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模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
python 识别图片中的文字信息方法
2018/05/10 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
自主招生自荐书
2013/11/29 职场文书
五一服装活动方案
2014/01/11 职场文书
中学生期末评语
2014/02/03 职场文书
葬礼司仪主持词
2014/03/31 职场文书
合同协议书格式
2014/04/18 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
给老婆的道歉信
2015/01/20 职场文书