萬九郎の硬い船

プログラミング学習記録など

Gistをブログ記事に埋め込んでみる:『退屈なことはPythonにやらせよう』3章 演習プロジェクト

Scrapyのチュートリアルが動かなかったりして心が折れている間に、『退屈なことはPythonにやらせよう』というPythonの人権を無視したタイトルの本を買って、勉強の寄り道をし始めた。 日々の雑務の自動化とPythonの理解を深めることが同時にできれば素晴らしいし、スクレイピングの課題も出てくるのでちょうどいいと思ったのだった。 しかし、この本の3章以降の最後に付いている「演習プロジェクト」には解答が載っておらず、自力でプログラムを完成させなければならない。 せっかくなので、この機会に自力で書いたプログラムをGistにアップしてブログに埋め込んでみようと思い、とりあえず3章の演習プロジェクト「コラッツ数列」のプログラムをアップしてみる。 「コラッツ数列」とは、

  • nが偶数なら2で割る
  • nが奇数なら3をかけて1を足す

の操作を繰り返すと、どんな数字から始めても最終的に1になる(そして、1になった後は1→4→2→1というループに入る)という問題の結果として得られる数列である。サバンナ八木の「パナキ」のような感じなのだが、「パナキ」のプログラムを書いてる人がやっぱりいた(この方は「パナキへの最短ルート」のテキストデータを使って、Rubyで実装している)。

メモ:ねづっちプログラムを考えてみる