解説
再帰とは、関数が自分自身を呼び出すことです。問題を「ひとまわり小さい同じ問題」に分けて解きます。
階乗 n!(1からnまでの積)は再帰の代表例です。
- n! = n ×(n-1)! … 自分より小さい階乗を使う(再帰)
- 0! = 1 … これ以上分けない出発点(ベースケース)
ベースケースが必ず必要です。これが無いと関数が永遠に自分を呼び続けてエラーになります。
書き方
再帰: 関数が自分自身を呼ぶ。 ・def factorial(n): の中で factorial(n - 1) を呼ぶ。 ・n! = n × (n-1)!、0! = 1(ベースケース)。 ・ベースケースが無いと無限再帰でエラー。
書いて動かす
この回の課題
階乗を再帰関数で定義し、0〜5 の階乗を表示してみよう(ベースケース 0!=1 を忘れずに)。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
自分のPCでも続けてみませんか
Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。