尝试尝试使用递归计算整数或浮点列表的总和。但是,我收到“列表索引超出范围”错误。
如果这很傻,请原谅我,但我对此很陌生,仍然在玩耍。

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()函数的打印结果。

07-25 20:54