나는이 Palindrome 프로그램에서 일해 왔고, 정말로 그것을 완료하는 것에 가깝다. 그것이 나에게 약간 미친 하하를 몰아 넣었다는 점에 유의한다. 프로그램은 각각의 '문구'를 검사하여 그것이 Palindrome인지 아닌지를 판별하고 실제로는 Palindrome 인 경우 공백과 구두점이 제거 된 소문자 버전을 반환합니다. 그렇지 않으면, 그렇지 않으면 None을 반환해야합니다. 필자는 테스트 데이터를 함수에 가져 오는 데 문제가 있습니다. 나는 그것을 다루는 올바른 방법을 생각하는 것처럼 보일 수 없다. 아마 꽤 간단 할거야 ... 어떤 아이디어? 감사합니다.Palindrome 프로그램의 작은 문제
import string
def reverse(word):
newword = ''
letterflag = -1
for numoletter in word:
newword += word[letterflag]
letterflag -= 1
return newword
def Palindromize(phrase):
for punct in string.punctuation:
phrase= phrase.replace(punct,'')
phrase = str(phrase.lower())
firstindex = 0
secondindex = len(phrase) - 1
flag = 0
while firstindex != secondindex and firstindex < secondindex:
char1 = phrase[firstindex]
char2 = phrase[secondindex]
if char1 == char2:
flag += 1
else:
break
firstindex += 1
secondindex -= 1
if flag == len(phrase) // (2):
print phrase.strip()
else:
print None
def Main():
data = ['Murder for a jar of red rum',12321, 'nope', 'abcbA', 3443, 'what',
'Never odd or even', 'Rats live on no evil star']
for word in data:
word == word.split()
Palindromize(word)
if __name__ == '__main__':
Main()
'int'의'split' 메소드가 없습니다. 문자열로 변경해보십시오. – Jared