1. 程式人生 > >Byte of Python學習筆記(2)——回文練習

Byte of Python學習筆記(2)——回文練習

span forbidden you 一點 學習筆記 成員 reverse 大小寫 lis

  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學習筆記(2)——回文練習