연습문제 6-3
회문은 “noon”이나 “redivider”처럼 앞뒤로 읽어도 철자가 같은 단어를 말한다. 재귀적으로 단어의 첫 번째와 마지막 문자가 같고, 가운데 글자가 같다면 그 단어는 회문이다.
다음은 문자열을 인수로 받아서 첫 번째, 마지막, 가운데 문자를 반환하는 함수들이다.
def first(word):
return word[0]
def last(word):
return word[-1]
def middle(word):
return word[1:-1]
이들 함수가 어떻게 동작하는지는 8장에서 살펴볼 것이다.
1. 이들 함수를 palindrome.py 파일에 입력하고, 테스트해보자. 문자가 두 개인 문자열에 대해 moddle을 호출하면 무슨 일이 일어나는가? 문자가 하나이면? 빈 문자열을 ''로 작성해서 문자를 하나도 포함하지 않는다면?
2. 문자열 인수를 받아서 회문이면 True, 그렇지 않으면 False를 반환하는 is_palindrome 함수를 작성하라. 문자열의 길이 확인에는 내장 함수 len을 사용할 수 있다.
해법: http://thinkpython2.com/code/palindrome_soln.py