我的斐波那契序列程序使用“for循环”有什么问题

def fibonacci(n): 

terms = [0,1]

i = 2

for i in terms[2:n+1]:

terms.append(terms[i-1] + terms[i-2])

return terms[n]

user_input= input ('Write the number order by which you want to know its corresponding value in the fibonacci sequence')

fibonacci_user_input = fibonacci(user_input)

print fibonacci_user_input

Pyscripter Python 2.7.9中引用的关于此程序的语义错误是,它返回值None。 我刚刚开始学习Python,并且现在已经发现这个程序有什么问题了。 我已经发现如何使用while循环和递归来编写斐波那契数列程序,而我只是很难使用这个过程。我的斐波那契序列程序使用“for循环”有什么问题

回答:

for i in terms[2:n+1]: 

应该是:

for i in range(2, n+1): 

你加入terms,你不想遍历当前内容。

回答:

此行

 terms.append(terms[i-1] + terms[i-2]) 

运行中唯一的一次循环,无论n的值有多大。

以上是 我的斐波那契序列程序使用“for循环”有什么问题 的全部内容, 来源链接: utcz.com/qa/258132.html

回到顶部