더북(TheBook)

연습문제 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

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.