【Python勉強会】再帰処理について簡単に紹介

どうも!リョクちゃです。

今回は、再帰処理といわれる方法を使って、ある自然数nの1~nまでの総和を求める

といったことをやっていきます。

&bsop;

ちなみにPython記事は久々の更新になります。

最近はVB.Netばかり書いていました。

前回はこんな記事書いていました。

Pythonにおけるenumerate関数の使い方を例を交えて紹介しています。enumerate関数は配列変数を引数に渡すことで(インデックス、要素)を返してくれる便利な関数です。ここで使い方を覚えて活用していただけたらなと思います。



再帰処理とは

プログラミングにおいて、あるプロシージャの処理内部で再びそのプロシージャ自身を呼び出すような処理を指します。 関数等のプロシージャ中で自身を呼び出すことで、類似の処理を繰り返すことが可能となります。 再帰処理を行う関数を再帰関数と呼びます。 … return n+m; //nにそれまでの再帰処理の結果を足す。

出典

例えば、ある自然数nがあって、

1~nまでの総和を求めたい場合などに再帰処理は使うことができます。

例) n = 10のとき、1~10までの総和を求める。

1 + 0 = 1

1 + 2 = 3

3 + 3 = 6

……

10 + 45 = 55

全てを足していくと、答えは”55″になります。

スポンサーリンク




再帰処理を使わない場合

先ほどの例を再帰処理を使わないでプログラムにすると、

単に繰り返し処理で書いたコードになります。

再帰処理を使った場合

先ほどの例を関数として書いています。

nが0になると関数を抜けて、この前の処理で結果が渡される。

関数内で自分自身を呼び出すことを再帰処理、関数にしたものを再帰関数と呼びます。

例 階乗

自然数nの階乗を求める関数を作成します。

n = 3のとき、関数factorialを実行すると、6になります。

まとめ

Pythonで再帰処理について書き方を簡単に紹介しました。

意外と使えるようになると便利な方法なので、興味のある方はぜひ

自身のコードに活かしてみてはいかがでしょうか。

最後までお読みいただきありがとうございます。

スポンサーリンク