【问题标题】:how to get this fib sequence to start at 0?如何让这个 fib 序列从 0 开始?
【发布时间】:2018-01-29 02:24:27
【问题描述】:

所以我有这个从 1 到 21 的序列。但我需要它从 0 开始。

nbr1 = 0
nbr2 = 1
i = 0

for i in range (0, N):
   tmpnbr = nbr1
   nbr1 = nbr1 + nbr2
   nbr2 = tmpnbr
   print (nbr1)

我似乎无法弄清楚如何让它从零开始。有什么想法吗?

【问题讨论】:

  • 嗯...添加print(0) ?
  • 将打印语句移到循环顶部
  • nbr1 = 1nbr2 = -1 开头。

标签: python


【解决方案1】:

你想要的

for i in range (0, N):
   print (nbr1)
   tmpnbr = nbr1
   nbr1 = nbr1 + nbr2
   nbr2 = tmpnbr

而不是

for i in range (0, N):
   tmpnbr = nbr1
   nbr1 = nbr1 + nbr2
   nbr2 = tmpnbr
   print (nbr1)

这样您首先打印 0 而不是 1。您仅在添加到第一个数字后才打印。您想先打印第一个数字,然后再打印后面的数​​字。

【讨论】:

  • 这真的需要回答吗?...(不是反对者...)
  • 也不是 dv'er,但这太基本了,我希望人们会发表评论并投票结束。
  • 因为你不应该通过回答这些低质量问题来鼓励他们。
  • "learning" 假设 OP 显然没有考虑过最少的努力。尽管 SO 不应该是学习基础知识的地方。
  • SO 还指示我们不要接受表明缺乏研究的问题。理想情况下,这个问题应该被否决(因为它已经完成了),因为它没有建设性!谈话可以永远持续下去,我试图节省每个人的时间。和平!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
相关资源
最近更新 更多