看板 Python 關於我們 聯絡資訊
我是初學者^^ 最近功課有一題 我們發現 “GO HANG A SALAMI I'M A LASAGNA HOG.” 是迴文,但我們的演算法無法處理,這是因為 “I’M” 的單引號造成的結果 想請問要如何把 ’去掉。 我的做法如下: 可是出來之後的word4完全沒有被join在一起 為什麼呢? 謝謝大家:) # -*- coding: cp950 -*- def is_palindrome(word): i = 0 j = len(word5) - 1 while i < j: if word[i] != word[j]: return False i = i + 1 j = j - 1 return True fin = open('Palindrome_testdata.txt') for line in fin: word1 = line.strip() print '原文word1:', word1 word2 = word1.split(' ') print '串列word2:', word2 word4 = [] for word in word2: word3 = word.rstrip('.,!?') word4.append(word3) delmiter = '' word5 = delmiter.join(word4) print '連接後:', word5 if is_palindrome(word5): print 'true' else: print 'false' -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.78
wxyy:import re 01/01 19:01
wxyy:foo = "GO HANG A SALAMI I'M A LASAGNA HOG." 01/01 19:01
wxyy:foo = re.sub("[^a-zA-Z]", "", foo) 01/01 19:02
wxyy:if foo == foo[::-1]: 01/01 19:03
wxyy: print 'true' 01/01 19:03
wxyy:else: 01/01 19:03
wxyy: print 'false' 01/01 19:03
wxyy:這樣子 跟你要的有一樣嗎 ? 01/01 19:04
KSJ:word4=''.join([i for i in word if i!="'"]) 這樣ok嗎? 01/02 11:16
Lexie:wxyy~您的做法我還沒學過耶> <"真是抱歉 01/02 16:23
Lexie:不過跑出來結果是對的^^ 01/02 18:06
※ 編輯: Lexie 來自: 140.112.217.78 (01/02 18:12)