1
私は再帰を自分のコードに組み込み、それを使って訓練したいと思った。私は、指定された配列内の最大要素を見つける再帰関数を持っています。配列内の最大要素を見つけるための再帰関数を説明する
def maxx(lst):
if len(lst) == 1:
return lst[0]
else:
m = maxx(lst[1:])
return m if m > lst[0] else lst[0]
maxx([1,3,2])
> 3
私は一連のイベントを描画しようとしましたが、なぜ上記のコードが機能するのかわかりません。 私が見ていることによると、ではないです。私のミスはどこですか?再帰を正しく展開し、その流れを理解するのに役立つメソッドがありますか?
各再帰で配列の内容をチェックしてください。最後の戻り値から2を取り戻すと、それは 'array [0]'と比較されます。これは3であるので3を返します。そして再び配列に入り、array [0]は1です。 P.S.それは、あなたがコードを2つの最大値を探して捨てると期待していることを読むのは混乱しています:) – Alfabravo