lang
1def fact(n): 2 if n == 0: return 1 3 return n * fact(n - 1) 4 5print(fact(5))
fact(5) ← n = 5 nはローカル変数なので関数の処理が終わるとリセットされる。
return 5 * fact(5 - 1) ← このときreturnで出された5 * というのは再帰が終わるまで保持されるんですか?
fact(0)で、1を返す
5 * 4 * 3 * 2 * 1 * 1 ← こうなるの?
もし保持されているならreturnで返されたn *というのは別のnなんでしょうか?
上書きで保持ってできるんでしょうか?
サイトの説明が分かりにくかったです
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。