【问题标题】:Fibonacci in Python - Simple solution [duplicate]Python中的斐波那契 - 简单的解决方案[重复]
【发布时间】:2018-06-23 09:11:55
【问题描述】:
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 在打印n3 后没有设置为n3

【问题讨论】:

  • 你认为n1 + n2是什么意思?
  • 比较第 5 行和第 3 行 - 发现差异?

标签: python fibonacci


【解决方案1】:
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。

【讨论】:

    【解决方案2】:

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

    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 保持不变并且不会改变。

    【讨论】:

      猜你喜欢
      • 2019-05-10
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 2013-03-27
      • 2020-08-19
      • 1970-01-01
      相关资源
      最近更新 更多