作者Lexie (Lexie)
看板Python
標題[問題] 如何去除回文中的標點符號(')?
時間Fri Jan 1 16:33:18 2010
我是初學者^^
最近功課有一題
我們發現
“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)