pythonの勉強をしていて
再起関数を使ってリスト内の和が出したいです
以下の自分で作ったコードでは
エラーを吐いてしまいました
list1=[45,3,89,66,85,26,49,1,32,54] def sum_list(n): if n<0: return 0 return list1[n]+sum_list(list1[n-1]) print(sum_list(len(list1)-1)) ---------------------
Traceback (most recent call last):
File "G:/マイドライブ/基礎プログラミング/test1.py", line 7, in <module>
print(sum_list(len(list1)-1))
File "G:/マイドライブ/基礎プログラミング/test1.py", line 6, in sum_list
return list1[n]+sum_list(list1[n-1])
File "G:/マイドライブ/基礎プログラミング/test1.py", line 6, in sum_list
return list1[n]+sum_list(list1[n-1])
IndexError: list index out of range
リストの範囲外になっているエラーが出たので止めるタイミングを’=’や
’1’に変えてみたのですが治りませんでした
何が原因でエラーを吐いているか教えていただきたいです
return list1[n]+sum_list(list1[n-1])
=>
return list1[n]+sum_list(n-1)