Versuch, mit der Berechnung der Summe einer Liste von Ganzzahlen oder Gleitkommawerten unter Verwendung der Rekursion herumzuexperimentieren. Ich erhalte jedoch einen Fehler "Listenindex außerhalb des zulässigen Bereichs". Verzeihen Sie mir, wenn das albern ist, aber ich bin sehr neu und immer noch nur herumspielen.Listenindex außerhalb des Bereichs (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([]))
Was erwarten Sie von der Ausgabe von 'print (sum ([]))'? Versuchen Sie, die Ausführung Ihrer Funktion zu visualisieren, um zu sehen, was in diesem Fall wirklich passiert. – Kevin
möchte die Ausgabe die Summe von [1.0], [1,2] und [1,2.0,3] sein – cedricroux
Als eine Randnotiz ist es keine gute Idee, Ihre Funktion 'sum' zu nennen, als das bereits ein Teil von ist die Standardbibliothek. –