2018年12月9日日曜日

開発環境

問題解決のPythonプログラミング ―数学パズルで鍛えるアルゴリズム的思考 (Srini Devadas (著)、黒川 利明 (翻訳)、オライリージャパン)の10章(おびただしい女王)、練習問題(問題3)を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3
def is_palindrome(word: str) -> bool:
    if len(word) <= 1:
        return True
    if word[0].lower() == word[-1].lower():
        return is_palindrome(word[1:-1])
    return False


if __name__ == '__main__':
    words = ['kayak', 'racecar', 'kayaK', 'python']
    for word in words:
        if is_palindrome(word):
            print(f"'{word}' is a palindrome.")
        else:
            print(f"'{word}' is not a palindrome.")

入出力結果(Terminal, cmd(コマンドプロンプト), Jupyter(IPython))

$ ./sample3.py
'kayak' is a palindrome.
'racecar' is a palindrome.
'kayaK' is a palindrome.
'python' is not a palindrome.
$

0 コメント:

コメントを投稿