Pythonの再帰関数

高洛峰
リリース: 2016-11-16 10:51:17
オリジナル
1577 人が閲覧しました

関数は、いくつかの関連する関数を呼び出し用の関数にパッケージ化したボックスのようなものです。関数内で他の関数を呼び出すことも、関数自体を呼び出すこともできます。
関数がそれ自体を内部的に呼び出す場合、これは再帰関数です。
簡単な例を見てみましょう。
数学では、100 の階乗、100!=1009998...321 がわかります。
それを分解すると、100!=10099!,99!=9998!,98!=98*97!...
次に、次のように定義します。階乗を計算する関数:

def fact(n):
    return n*fact(n-1)
ログイン後にコピー

上記の関数は、数値に 1 より小さい数値を停止せずに掛け続けるように見えます。したがって、n=1 の場合に計算後に停止できるように上記の関数を修正する必要があります。

def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
ログイン後にコピー

再帰関数はループ内に実装することもできます。ただし、再帰関数のロジックは比較的単純です。ただし、再帰関数を使用する場合は、再帰関数呼び出しが多すぎることによるスタック オーバーフローを防ぐように注意する必要があります。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート