鱼C论坛

 找回密码
 立即注册
查看: 960|回复: 1

Python问题,看不懂思路,需要解释

[复制链接]
发表于 2021-12-23 23:47:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import sys
#1 1 2 3 5 8
n1=1;n2=1;n3=2
p=15
if (p==1 or p==2):
    print(1);
else :
    for i in range(p-2):
        print(9," i=",i,"\n")
        n1=n2;
        n2=n3;
        n3=n1+n2;
        print(13," n1=",n1,",n2=",n2,",n3=",n3,"\n")
sys.exit()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-24 00:34:43 | 显示全部楼层
本帖最后由 jackz007 于 2021-12-24 00:57 编辑

      运行一下这个代码你会看的更加清楚:
n1 , n2 , n3 , n = 1 , 1 , 1 , 15
for i in range(1 , n + 1):
    if i > 2 :
        n3 = n1 + n2
        n1 , n2 = n2 , n3
    print('i = {:3d} , n3 = {:3d} ' . format(i , n3))

        运行实况:
D:\00.Excise\Python>python x.py
i =   1 , n3 =   1
i =   2 , n3 =   1
i =   3 , n3 =   2
i =   4 , n3 =   3
i =   5 , n3 =   5
i =   6 , n3 =   8
i =   7 , n3 =  13
i =   8 , n3 =  21
i =   9 , n3 =  34
i =  10 , n3 =  55
i =  11 , n3 =  89
i =  12 , n3 = 144
i =  13 , n3 = 233
i =  14 , n3 = 377
i =  15 , n3 = 610

D:\00.Excise\Python>
    当 i = 1 和 i = 2 的时候,n3 的值都是 1(其实,对应 n1、n2),从 i = 3 的时候起,n3 = n1 + n2,然后,新的 n1 是原来的 n2,新的 n2 是才算出来的 n3,再开始下一次循环,如此往复,直到 i 到达指定的数值为止,把所有的 n3 顺序写出,就是斐波那契数列。其效果就是,每一个 n3 都是前 2 个 n3 值的和。
i = 3 :   n1 = 1 , n2 = 1 ,  n3 = n1 + n2 = 1 + 1 = 2 , n1 = n2 = 1 , n2 = n3 = 2
i = 4 :   n1 = 1 , n2 = 2 ,  n3 = n1 + n2 = 1 + 2 = 3 , n1 = n2 = 2 , n2 = n3 = 3
i = 5 :   n1 = 2 , n2 = 3 ,  n3 = n1 + n2 = 2 + 3 = 5 , n1 = n2 = 3 , n2 = n3 = 5
i = 6 :   n1 = 3 , n2 = 5 ,  n3 = n1 + n2 = 3 + 5 = 8 , n1 = n2 = 5 , n2 = n3 = 8
. . . .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 12:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表