[IT学习]Python如何处理异常特殊字符
A byte of Python《输入与输出》一节中有一个处理回文的小例子(io_input.py)。作者留了个思考题。
如何将标点去掉、忽略大小写后,再考虑是否回文?
可以学习re模块、学习str的方法来处理。
方法1:使用re正则表达式将特殊字符处理为空字符串。
import re
def reverse(text):
return text[::-1]
def is_palindrome(text):
return text == reverse(text) something = input("Enter text: ")
something = re.sub(r'[,. -!?:]', '', something)
something = something.lower()
print (something)
if is_palindrome(something):
print("Yes, it is a palindrome")
else:
print("No, it is not a palindrome")
方法2:使用循环判断每个字符是否在特殊字符串里面,然后将特殊字符替换为空格。
最后使用join和split将空格替换掉。
def reverse(text):
return text[::-1]
def is_palindrome(text):
return text == reverse(text) something = input("Enter text: ")
specialstr = (",",".","-","!","?",":")
prostr = list(something)
for i in range(len(something)):
if something[i] in specialstr:
prostr[i]= " "
#将列表变为字符串
something = "".join(prostr) #将字符串以空格为分隔符,变为列表,再变为不包含空格的字符串
something = "".join(something.split(" "))
#变为小写字符串
something = something.lower()
#打印字符串,确认是否转换好
print (something)
if is_palindrome(something):
print("Yes, it is a palindrome")
else:
print("No, it is not a palindrome")
RE模块参考文档:
http://www.cnblogs.com/sevenyuan/archive/2010/12/06/1898075.html
[IT学习]Python如何处理异常特殊字符的更多相关文章
- python学习笔记5_异常
python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...
- Android(java)学习笔记82:我们到底该如何处理异常?
我们到底该如何处理异常? 原则: 如果该功能内部可以将问题处理,用try,自己能解决就自己解决问题. 如果处理不了,交由调用者处理,这是用throws,自己不能解决的问题,我们就抛出去交个调用者解决这 ...
- python学习日记(异常)
异常和错误 错误 1.语法错误 这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 pr ...
- Android(java)学习笔记22:我们到底该如何处理异常?
1. 我们到底该如何处理异常? (1)原则: 如果该功能内部可以将问题处理,用try,自己能解决就自己解决问题. 如果处理不了,交由调用者处理,这是用throws,自己不能解决的问题,我们就抛出去交个 ...
- 深入学习Python解析并解密PDF文件内容的方法
前面学习了解析PDF文档,并写入文档的知识,那篇文章的名字为深入学习Python解析并读取PDF文件内容的方法. 链接如下:https://www.cnblogs.com/wj-1314/p/9429 ...
- 国内某Python大神自创完整版,系统性学习Python
很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...
- Python3 学习Python流程--试水中
二.基础语法之后可以搭载服务器练习: 教程 一.1.Python 搭建环境. 初学基本语法 :Python基本语法 2.推荐 IDE : PyCharm CE 下载 菜鸟教程都是基础语法,可以对py ...
- 学习 python 编写规范 pep8 的问题笔记
决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...
- 【Python】Java程序员学习Python(五)— 函数的定义和使用
不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...
随机推荐
- json_decode 解析带BOM头文件错误
//取前三个字符 并转化为ASCII 判断是否为BOM文件 $charset[1] = substr($result, 0, 1); $charset[2] = substr($result, 1, ...
- php添加了环境变更,还是显示 不是内部或外部命令 (注:添加到目录即可,不加 php.exe )
重新配置了PHP环境,要安全PEAR扩展,CMD窗口运行PHP,提示不是内部或者外部命令或者可执行文件,解决方法是把PHP目录加入系统环境变量,不然的话,你只能CD到PHP安装目录下来运行PHP命令.
- Android开发——使用ADB Shell命令实现模拟点击(支付宝自动转账实现)
首先声明,本人反对一切利用技术的违法行为 本文的实现代码已经销毁,本文以介绍流程为主 1.这里所说的模拟点击不是在自己的APP里点击,点自己APP上的控件没什么好说的 不仅是支付宝转账,其他的获取别人 ...
- 大数据学习——关于hive中的各种join
准备数据 2,b 3,c 4,d 7,y 8,u 2,bb 3,cc 7,yy 9,pp 建表: create table a(id int,name string) row format delim ...
- Solr Admin管理界面使用说明
Notice:本说明基于Solr6.4.2. 本文讨论的是如何使用Solr Admin UI. 一级菜单 图1.SolrCloud模式 图2.单机Solr模式 Logging:展示Solr的日志,不用 ...
- Java有几种线程池?
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程newFixed ...
- poj2767,单向连通图判定,缩点+重新建图+新图DFS
/*该题被博客里标记为中等题,30分钟内1A,掌握了算法就简单了,单向连通图判定,单向连通图缩点 后必然唯一存在出度为0的点和入度为0的点,并且从入度为0的点出发,可以遍历所有点后到达出度为0点 (一 ...
- OC温习四:数组
/** arrayByAddingObject -- 往数组A添加一个数据,返回一个数组的形式,即必须有一个数组来接受 */ NSArray *array = [NSArray arrayWithOb ...
- ***ps -ef |grep 输出的具体含义是什么?
Q: 比如:[root@localhost ~]# ps -ef | grep ApacheJetspeedroot 18887 18828 0 08:09 pts/0 00:00:00 grep A ...
- OO第三单元总结——JML
目录 写在前面 JML理论基础 JML工具链 JMLUnitNG的使用 架构设计 Bug分析 心得体会 写在前面 OO的第三单元学习结束了,本单元我们学习了如何使用JML语言来对我们的程序进行规格化设 ...