Python中的Fibonacci - 简单的解决方案

时间:2018-01-14 15:29:21

标签: python fibonacci

n1 = 1
n2 = 1
n3 = n1 + n2
for i in range(10):
   n1 + n2
   print(n3)
   n1 = n2
   n2 = n3

据我所知,这应该是输出系列前10位数的最简单方法,但是,它会打印2 10次。我不明白为什么n1没有设置为n2,而n2在{{1}之后未设置为n3已被打印。

2 个答案:

答案 0 :(得分:1)

您的代码存在许多问题。你应该首先自己学习并尽可能多地尝试。我也是初学者,所以我知道你在想什么。 对于一些快速编辑,使其可行:

n1 = 0
n2 = 1
n3 = 0
for i in range(10):
   n3 = n1 + n3
   print(n3)
   n1 = n2
   n2 = n3
  1. 系列从0开始,用1初始化。
  2. 更新语句n3=n1+n2在循环之外,它将如何更新?这里发生的是n3 = 1 + 1 = 2代码保持不变并且不会改变。

答案 1 :(得分:0)

n1 = 1
n2 = 1
n3 = n1 + n2
for i in range(10):
    n3 = n1 + n2
    print(n3)
    n1 = n2
    n2 = n3

这应该有效。您未能存储n1和n2的总和。 你只是打印n3,即2次十次。 并尝试从-1开始n1和n2。