2016年5月13日金曜日

開発環境

Think Python (Allen B. Downey (著)、 O'Reilly Media)のChapter 6.(Fruitful Functions)のExercises 6-3(No. 1512)を取り組んでみる。

Exercises 6-3(No. 1512)

コード(Emacs)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def first(word):
    return word[0]

def last(word):
    return word[-1]

def middle(word):
    return word[1:-1]

def is_palindrome(word):
    if len(word) <= 1:
        return True
    if first(word) != last(word):
        return False
    return is_palindrome(middle(word))

if __name__ == '__main__':
    for word in ['', ' ', 'a', 'ab', 'aba', 'abc', 'abba', 'abca']:
        print("'{0}': {1}".format(word, is_palindrome(word)))

入出力結果(Terminal, IPython)

$ ./palindrome.py
'': True
' ': True
'a': True
'ab': False
'aba': True
'abc': False
'abba': True
'abca': False
$

0 コメント:

コメントを投稿