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

2022-10-23 13:37:36

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

  • 作者:梓矜
  • 原文链接:https://blog.csdn.net/weixin_35977770/article/details/116183796
    更新时间:2022-10-23 13:37:36