2015年9月22日火曜日

Python 再帰関数

プログラム言語に触れるようになって、最初に衝撃を受けたのがタイトルにある再帰関数でした。
正しい表現とは言えないですが、その時感じたそのままの表現を使うなら「自分で自分自身を呼ぶ関数」
その衝撃というものは、今でも記憶にしっかりと刻み込まれているくらいのものです。

その名の通り、再帰的に処理を行うのにはとてもきれいに書ける仕組みだと思います。
ディレクトリなど、ツリー構造を走査するにはもってこい。
きちんと引き返す条件を設定してあげないと無限ループにはまりますが・・・

練習問題的に出されるのが1からNまでの和を求める。
これをPythonで書いてみます。

>>> def sample(val):
...    if val > 1:
...        return = val + sample(val-1)
...    else:
...        return val
...

たったのこれだけ、
王道の1から10までの和を求めるには
>>> sample(10)
55

0 件のコメント:

コメントを投稿