再帰を使用して整数リストまたは浮動小数点数の合計を計算することを試みてみましょう。しかし、「範囲外のリストインデックス」エラーが発生しています。 これがばかげている場合は私を許してください。しかし、私はこれを非常に新しくしており、まだ遊んでいます。リストには、その中に要素がないときリストインデックスが範囲外です(Python 3)
def sum(listOfNumbers):
listOfNumbers == int or float
if len(listOfNumbers) == 1:
return listOfNumbers[0]
else:
return listOfNumbers[0] + sum(listOfNumbers[1:])
for (input, output) in [ ([1.0], 1), ([1,2], 3), ([1,2.0,3], 6) ]:
result = 'PASSED' if sum(input) == output else 'FAILED'
print('Test', input, result)
print(sum([]))
'print(sum([]) ')の出力はどうなると思いますか?あなたの関数の実行を視覚化して、実際に何が起こっているのかを見てみましょう。 – Kevin
は、出力が[1.0]、[1,2]、[1,2.0,3]の合計であることを希望します。 – cedricroux
これは既に 'sum'の名前を付けることをお勧めしません標準ライブラリ –