以下のような関数sumArrがありますが、
リスト:arrの各値を加算した値で出力されません。
これは、何故でしょうか?
理屈で言えば、
1.リスト:arrの値をポップして、変数addに順次加算していく。
2.リスト:arrの要素がある場合は、リスト:arr, 加算されたaddを引数に渡して再帰的にsumArr関数を呼び出す
3.リスト:arrの要素が空になったら、return addで返す。
となりますが、Pythonの言語仕様上の理由により、上記1~3とならないかと推定していますが、何を
観点に調べていいのかわからない状況なので、ご教示いただけると幸いです。
Python
1arr = [1,5,6,7,10] 2test = 0 3 4def sumArr(list:arr, add): 5 if arr: 6 add += arr.pop(0) 7 print(add) 8 sumArr(arr,add) 9 return add 10 11print(sumArr(arr,test)) 12# 1が出力されてしまう 13# 29が出力するかと思っていた。。。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/18 01:51