Python中a,b = b,a+b 和 a=b b=a+b的区别?def fib(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a= b\x09\x09b = a + b\x09\x09n = n+1\x09\x09def fib1(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a,b= b,a+b\x09\x09n
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/20 06:57:57
![Python中a,b = b,a+b 和 a=b b=a+b的区别?def fib(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a= b\x09\x09b = a + b\x09\x09n = n+1\x09\x09def fib1(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a,b= b,a+b\x09\x09n](/uploads/image/z/10436013-45-3.jpg?t=Python%E4%B8%ADa%2Cb+%3D+b%2Ca%2Bb+%E5%92%8C+a%3Db+b%3Da%2Bb%E7%9A%84%E5%8C%BA%E5%88%AB%3Fdef+fib%28max%29%3A%5Cx09n%2Ca%2Cb+%3D+0%2C0%2C1%5Cx09while+n+%3C+max%3A%5Cx09%5Cx09print+b%5Cx09%5Cx09a%3D+b%5Cx09%5Cx09b+%3D+a+%2B+b%5Cx09%5Cx09n+%3D+n%2B1%5Cx09%5Cx09def+fib1%28max%29%3A%5Cx09n%2Ca%2Cb+%3D+0%2C0%2C1%5Cx09while+n+%3C+max%3A%5Cx09%5Cx09print+b%5Cx09%5Cx09a%2Cb%3D+b%2Ca%2Bb%5Cx09%5Cx09n)
Python中a,b = b,a+b 和 a=b b=a+b的区别?def fib(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a= b\x09\x09b = a + b\x09\x09n = n+1\x09\x09def fib1(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a,b= b,a+b\x09\x09n
Python中a,b = b,a+b 和 a=b b=a+b的区别?
def fib(max):
\x09n,a,b = 0,0,1
\x09while n < max:
\x09\x09print b
\x09\x09a= b
\x09\x09b = a + b
\x09\x09n = n+1
\x09\x09
def fib1(max):
\x09n,a,b = 0,0,1
\x09while n < max:
\x09\x09print b
\x09\x09a,b= b,a+b
\x09\x09n = n+1
fib(3),fib1(3)这个两个输出的结果不一样.
我可不可以这样理解.a,b= b,a+b 同步执行了 a = b 和b = a+b.a值还是0
而 a= b b = a + b这是先执行了a = b ,之后执行了b = a+b.a值通过赋值已经是1了
Python中a,b = b,a+b 和 a=b b=a+b的区别?def fib(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a= b\x09\x09b = a + b\x09\x09n = n+1\x09\x09def fib1(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a,b= b,a+b\x09\x09n
a,b=b,a+b 相当于:
temp=b #先保存b的原值
b=a+b #赋b新值
a=temp #将b的原值赋予a
实际就是C语言中的数据交换过程,也可理解为先计算右边后赋值.