尝试尝试使用递归计算整数或浮点列表的总和。但是,我收到“列表索引超出范围”错误。
如果这很傻,请原谅我,但我对此很陌生,仍然在玩耍。
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())
调用。也许尝试传递input
以查看sum()
函数的打印结果。