質問のあるセクションへのリンク。Python を考える - 第 6 章、セクション 5
このコードは私を失いました。実行すると n! が見つかりますが、方法がわかりません。私が誤解していると思う部分は、「recurse = factorial(n-1)」の行です。
def factorial(n):
if n == 0:
return 1
else:
recurse = factorial(n-1)
result = n * recurse
return result
それは関数を呼び出してトップに送り返しませんか?(明らかにそうではありませんが、理由はわかりません)。
また、関数が因数の分解 (3! を 3、2、1、1 に) を終了した後、それらを乗算します。それらを覚えているのはどこですか?
これは簡単だと思いますが、困惑しました。