我的fibonacci python代码有什么问题?

2024-04-25 08:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

如果你能看看我的密码。你知道吗

numbers = [1,2]
times = int(input("How many numbersM (minimum is 2)"))
def fibonacci(numbers, times):
    for i in range(0, times):
        for j in numbers:
            numbers.append( numbers[j] + numbers[j+1])
        print(numbers[i])
fibonacci(numbers, times)

Tags: in密码forinputisdefrangemany
1条回答
网友
1楼 · 发布于 2024-04-25 08:24:49

如果你这样运行你的代码,你会得到

IndexError: list index out of range

因为for j in numbers:numbers中值的循环,其中包含值1,当您尝试访问numbers[j+1]时,该值是超出范围的索引,因为此时没有numbers[2]。为什么需要第二个for循环呢?您将使用numbers[i]numbers[i+1]访问最后和倒数第二个值。不需要在列表的其他值上循环。你知道吗

我已经删除了这个循环,如果您像这样运行代码:

numbers = [1,2]
times = int(input("How many numbersM (minimum is 2)"))
def fibonacci(numbers, times):
    for i in range(0, times):
        numbers.append( numbers[i] + numbers[i+1])
        print(numbers[i])
fibonacci(numbers, times)

你会得到这样的结果,例如:

How many numbersM (minimum is 2)5
1
2
3
5
8

相关问题 更多 >