作者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
1F:→ wxyy:import re 01/01 19:01
2F:→ wxyy:foo = "GO HANG A SALAMI I'M A LASAGNA HOG." 01/01 19:01
3F:→ wxyy:foo = re.sub("[^a-zA-Z]", "", foo) 01/01 19:02
4F:→ wxyy:if foo == foo[::-1]: 01/01 19:03
5F:→ wxyy: print 'true' 01/01 19:03
6F:→ wxyy:else: 01/01 19:03
7F:→ wxyy: print 'false' 01/01 19:03
8F:→ wxyy:這樣子 跟你要的有一樣嗎 ? 01/01 19:04
9F:→ KSJ:word4=''.join([i for i in word if i!="'"]) 這樣ok嗎? 01/02 11:16
10F:→ Lexie:wxyy~您的做法我還沒學過耶> <"真是抱歉 01/02 16:23
11F:→ Lexie:不過跑出來結果是對的^^ 01/02 18:06
※ 編輯: Lexie 來自: 140.112.217.78 (01/02 18:12)