Pythonで再帰関数を作成する方法

不言
リリース: 2019-01-04 17:31:16
オリジナル
2985 人が閲覧しました

再帰関数はプログラミング手法の 1 つであり、プログラムに自分で呼び出す関数が含まれていることを意味します。反復関数と同様に、再帰関数は同様の処理を複数回実行するときに使用できますが、再帰関数はより単純なコードに置き換えることで、より複雑な問題を処理できます。この記事では、Python での再帰関数の作成について見ていきます。

Pythonで再帰関数を作成する方法

#再帰関数は次のような状況で使用されます。

1. データ処理

複数のデータをソートしたり、繰り返し処理を行う場合、データ構造に応じて再帰関数を使用することができます。

2. いくつかの複雑なアルゴリズム問題を解決できる

一般的な例は、「ハノイの塔」問題です。一定の法則に従い、状態変化ごとに再帰関数を使って簡単な質問に置き換えて処理することができます

3. 構文解析(自然言語処理)

自然言語では言語処理では、再帰関数を利用して文章を単語に分解する処理を行うことができます。

Python で再帰関数を作成するにはどうすればよいですか?

Python を使用すると、ユーザーはカスタム関数を使用して再帰関数を作成できます。

def myfunc(x):
    if 结束条件:
        return x
    // 进行什么样的处理
    myfunc(x)
ログイン後にコピー

注意すべき点は次のとおりです。

終了条件は必ず設定してください。終了条件がない場合、再帰呼び出しが永遠に行われ、処理は終了しません。

再帰呼び出しを行う場合は、パラメータに注意する必要があります。ここの条件が同じままだと、終了条件を正しく判断できません。

プログラムの内容が複雑だと感じる場合は、再帰関数以外の関数で実装できないか考えてみましょう。

具体的な例を見てみましょう


このサンプルプログラムでは、1からnまでの整数の合計の戻り値を確認する方法として、再帰関数を使用する方法と、再帰関数を使用しない方法の2通りがあります。再帰関数。

まず、再帰関数は使用しません

コードは次のとおりです

def sum(n):
    ret = 0
    for i in range(1, n + 1):
        ret += i
    return ret

s = sum(100)
print(s)
ログイン後にコピー

実行結果: 5050


以下は再帰関数を使った場合

コードは以下の通りです

def sum(n):
    if n < 1:
        return n
    return n + sum(n-1)

s = sum(100)
print(s)
ログイン後にコピー

実行結果:5050


まとめ、以上がこの記事の全内容です、さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトにある他の関連チュートリアルに注目してください。 ! !

以上がPythonで再帰関数を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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