Python:使用范围(x,y,n)的斐波那契序列

ran*_*ful 1 python range fibonacci python-3.x

我有兴趣找到一种方法来创建一个获取值的变量,并将其存储在另一个变量中,然后获取一个新值.
一个密切的实际例子是Fibonacci序列.
我合理地通过可用的python代码搜索了这个序列.
对于我的基本把握,有很多,通常太神秘了.

我想出了这个.简单,应该做的工作:

a = 1  
b = 0  
print (b)  
for i in range(0,100):  
 c = b  
 b = a  
 a = c + b  
 print(a)
Run Code Online (Sandbox Code Playgroud)

最后,循环应该打印通过变量a的值,如:
0,1,2,3,5,8,13,21,34,55,89

但那个怪人我一直都在前进到100 ^ 10.
因为该代码的最终输出是:
0,1,2,3,5,8,13,21,34,55,89,144,233,377,...,573147844013817084101

有人会解释发生了什么吗?

小智 5

你正在排队

 c = b  
 b = a  
 a = c + b  
 print(a) 
Run Code Online (Sandbox Code Playgroud)

100次.所以你得到前100个斐波纳契数.

如果要打印最多100的斐波纳契数,请将for循环更改为while循环

while (a < 100):
     c = b  
     b = a  
     a = c + b  
     print(a) 
Run Code Online (Sandbox Code Playgroud)