再帰関数を勉強してみる

再帰関数があんまり理解できていないので、例題を解きながら勉強する

726 views

再帰ってなに?

再帰関数とは、自分自身を呼び出す処理が書いてある関数のこと
パッと見何のこと?ってなるけど、理屈はこんな感じ。

コード

 def add(x):
        if x == 0:
                return 0

        return x + add(x - 1)


print(add(3))

出力

6

どゆこと?

まずadd(3)が呼ばれる。return の値は 3 + add(2) になる。
次、add(2)が呼ばれる。return の値は 2 + add(1)
次、add(1)が呼ばれる。return の値は 1 + add(0)
最後のadd(0)はif文入るので0を返す。

これが順番に戻る。
add(1) return 1 + 0 で 1が返り、
add(2) return 2 + 1 で 3が返り、
add(3) return 3 + 3 で 6が返る。
だからprintで表示されるのが6!!

いや、わかっとるじゃん

とまあ、再帰関数の概念はわかりやすい。
ただ、これ実際使うとなると、怖いことが多い(具体的には、フィボナッチの再帰とか)。
ってことで、どんな時にどうやって使うべきか、勉強してみた

環境

  • Windows10
  • Python 3.8

Page 1 of 3.

次のページ



[添付ファイル]


お問い合わせ

プロフィール

owl

自己紹介

駆け出しエンジニア
だいたいweb系をかじってる
最近ちょとブロックチェーンに興味出てきた

サイト/ブログ

https://github.com/owl0109

ツイッター

@kijiken1