Python 中的斐波那契 - 简单的解决方案

Fibonacci in Python - Simple solution

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

据我所知,这应该是最简单的输出序列前10位的方法,但是,它打印了10次2。我不明白为什么 n1 没有设置为 n2,并且 n2n3 打印后没有设置为 n3

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

这应该有效。您未能存储 n1 和 n2 的总和。 您只是打印 n3 ie 2 十次。 并尝试从 -1 启动 n1 和 n2。

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

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 在您的代码中保持不变并且不会改变。