我的斐波那契序列程序使用“for loop”

时间:2015-05-13 18:15:08

标签: python loops for-loop fibonacci

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循环和递归来编写Fibonacci序列程序,而我只是很难使用这个过程。

2 个答案:

答案 0 :(得分:0)

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

应该是:

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

您正在添加terms,您不想迭代其当前内容。

答案 1 :(得分:0)

这一行

        terms.append(terms[i-1] + terms[i-2])
无论n的值多大,

在for循环中只运行一次。