课程
/后端开发
/Python
/python进阶
for n in range(num): L.append(a) a, b = b, a + b return L
2018-11-10
源自:python进阶 6-9
正在回答
一楼的输出应该是2+4=6例如:myarr[3][2],那么第一个索引值为0-2,第二个索引值为0-1,即第一个myarr[0][0],最后一个为myarr[2][1]
按照a, b = b, a+b的写法,一开始
a = 0, b = 1,
则等号右边为1, 1
则a, b = 1, 1
如果按照a = b, b = a+b的写法,一开始对于 a = b这个式子来说
b = 1,将此值赋给a,此时有 a = 1, b = 1
然后对于b = a+b这个式子来说
a + b = 2,将此值赋给b,此时有 a = 1, b = 2
两个结果是不一样的,原因在于,按照第二个写法,a的值在第二个式子中使用之前已经重新赋过值;而在第一个写法中,等号右边的a和b先取初始值,然后再赋给左边。
如果想要这种写法,可以在添加一个中间变量,用于保存,就好理解
a,b=b,a+b,先计算=右边的,再赋值 b = 1, a+b = 1,那么a = 1, b = 1
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计