python实现连续数列相加,Python——从连续赋值到斐波拉切数列

Python中有一个非常简洁的赋值语句用法,就是连续赋值。

要分别给两个变量赋值,我的第一念头是如下:

1 a = 1

2 b = 2

但其实python还提供了一种更简洁的写法如下

1 a , b = 1 , 2

这时我们很自然的就能理解为按顺序赋值,a = 首位数字1,b = 次位数字2。但实际上并不仅仅如此。

连续赋值语句中等式右边其实都是局部变量,而不是真正的变量值本身。当等号右边是定值时,这样做当然没有问题。但是如果右边是一个含有变量的表达式,那么赋值时会采用截至本句代码前一句为止,各变量所代表的值进行计算。如

1 a = 0

2 b = 1

3 a , b = b , a + b

上述代码运行的结果,a = b = 1, b = a + b = 0 + 1 = 1,输出结果a = 1,b = 1,并没有把最热乎的a = 1用到b的计算中。这是个大坑!

最后顺手贴一个用生成斐波拉切数列,贴他是因为用python写出来的居然才5行!这也太简单了!

1 # 生成“斐波拉切数列”。

2 # 斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,

3 # 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

4 # 这个数列从第3项开始,每一项都等于前两项之和。

5 i = 0

6 j = 1

7 for _ in range(20): # 输出前20位

8 i , j = j , i + j

9 print(i,end = " ")

标签:到斐,20,数列,Python,波拉,python,赋值

来源: https://www.cnblogs.com/HuangYuanAvril/p/11209334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值