Byte of Python学习笔记——回文练习

Posted 捕虫少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Byte of Python学习笔记——回文练习相关的知识,希望对你有一定的参考价值。

  Byte of Python 第111页有关回文的作业练习,原题为:要想检查文本是否属于回文需要忽略其中的标点、空格与大小写。例如,“Rise to vote, sir.”是一段回文文本,但是我们现有的程序不会这么认为。你可以改进上面的程序以使它能够识别这段回文吗?如果你需要一些提示,那么这里有一个想法 :使用一个元组 来保存所有需要禁用的字符,然后使用成员资格测试来确定一个字符是否应该被移除,即 forbidden = ( ! ,? , . , ...)——原书注

  问题的关键在于如何找出字符串中的特殊字符,可以采用提示中的办法,需要注意的一点是删除了一个元素之后,原来的数组会改变,因此要注意遍历过程中的序号的问题。

  我的代码如下:

‘‘‘This is the readme of this project!

Are you OK?‘‘‘

forbindden_word = ( ,,,.,!,//,?)
def ignore_word(text):     #去除忽略的特殊字符
    strdemo = list(text)
    count = 0
    for i in list(range((len(strdemo)))):
        if strdemo[i-count] in forbindden_word:
            del strdemo[i-count] #删除特殊字符
            count += 1
    result = ‘‘.join(strdemo)
    return result
def reverse(text):
        return text[::-1]
def is_reverse(text):   #判断是否为回文
        return text == reverse(text)

something = input(Please input some text:)
if is_reverse(ignore_word(something)):
    print(ignore_word(something))
    print(Yes!This is a reverse sentense.)
else :
    print(ignore_word(something))
    print(Oh!No!This is not a reverse sentense!)

 


以上是关于Byte of Python学习笔记——回文练习的主要内容,如果未能解决你的问题,请参考以下文章

A Byte of Python 笔记

A Byte of Python 笔记

A Byte of Python 笔记

A Byte of Python 笔记(10)

Python练习题 025:判断回文数

python学习笔记_字符编码