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序列程序,而我只是很难使用这个过程。
答案 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循环中只运行一次。