Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的斐波那契python代码有什么问题?_Python_Fibonacci - Fatal编程技术网

我的斐波那契python代码有什么问题?

我的斐波那契python代码有什么问题?,python,fibonacci,Python,Fibonacci,如果你能看看我的代码 number=[1,2] times=int(输入(“多少个数字m(最小为2)”) def斐波那契(数字、次数): 对于范围内的i(0,次): 对于j,数字为: 数字。追加(数字[j]+数字[j+1]) 打印(数字[i]) 斐波那契(数字、次数) 如果您这样运行代码,您将获得 IndexError: list index out of range 因为对于数字中的j:是数字中值的循环,其中包含值1,当您尝试访问数字[j+1]时,该索引超出范围,因为此时没有数字[2]。你为

如果你能看看我的代码

number=[1,2]
times=int(输入(“多少个数字m(最小为2)”)
def斐波那契(数字、次数):
对于范围内的i(0,次):
对于j,数字为:
数字。追加(数字[j]+数字[j+1])
打印(数字[i])
斐波那契(数字、次数)

如果您这样运行代码,您将获得

IndexError: list index out of range
因为
对于数字中的j:
数字中值的循环,其中包含值
1
,当您尝试访问
数字[j+1]
时,该索引超出范围,因为此时没有
数字[2]
。你为什么需要第二个
循环呢?您将使用
numbers[i]
numbers[i+1]
访问最后和倒数第二个值。无需循环列表中的其他值

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

number=[1,2]
times=int(输入(“多少个数字m(最小为2)”)
def斐波那契(数字、次数):
对于范围内的i(0,次):
数字。追加(数字[i]+数字[i+1])
打印(数字[i])
斐波那契(数字、次数)
您将得到类似的结果,例如:

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

您告诉我们,您得到了什么错误或输出,您期望得到什么?只需将数字j的
更改为范围j的
(len(numbers))
,就可以了。@finefoot,哦,您是对的。我刚刚看到他/她把
for I in L
作为索引的错误,所以刚才评论指出,对于索引,您应该为
for I in range(len(L))