**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受答复。
这个问题似乎不是关于在help center定义的范围内编程。
14小时前关闭
Improve this question
我今天开始学习编程。我开始使用Python,因为我知道它是最简单的。作为一个挑战,我想看看我能不能写一段代码来创建斐波那契数列。(1,1,2,3,5,8,13……)
这是我能找到的最短的代码。(如果你知道如何用更少的代码来做,请回复。
当我运行程序时,我的笔记本电脑死机了,因为它从来没有停止过序列。我想在某种程度上阻止它。就像我说做前100个,它会做序列的前100个项。
2条答案
按热度按时间e5njpo681#
代码的问题在于while循环的条件
69<420
始终为真,因此创建了一个无限循环。您可以按如下方式更新代码:
在循环中,我取了
terms-2
,因为我们已经取了两个开始项。输出为:
nbysray52#
将第8行改为:
它会让你的pogram在 n 达到100时停止。
若要在指定的项数后停止,请使用单独的变量来跟踪项数。下面是如何用最少的代码更改来实现它:
有很多其他的方法来解决它,其中一些是更短和优雅,看到其他的答案。最终你会学会用不同的方式解决问题,有些更短,有些更快,有些更容易理解,有些更兼容。
例如,上面的代码是做同样的事情两次,它可以简化: