我正在从头学习python。我陷入了一个问题,即当我试图让Fibonacci系列在同一行中初始化变量时,我得到了正确的输出,但是当我在不同行中进行时,它却没有给我正确的输出,有人可以吗?向我解释为什么?预先谢谢
工作副本
a, b = 0, 1
while a<10:
print("The value here is", a)
a, b =b, a+b
输出: (“这里的值是”,0) ('这里的值是',1) ('这里的值是',1) (“这里的值是”,2) (“这里的值是”,3) (“这里的值是”,5) (“这里的值为” 8)
下面的代码不起作用
a = 0
b = 1
while a<10:
print(a)
a=b
b=a+b
输出: 0 1个 2 4 8
答案 0 :(得分:0)
在第一个代码中,即a,b = b,a + b,计算和赋值一次性完成。因此,将首先执行=的代码权限,然后将其分配给= =的参数。
因此,a将被设置为值b,b将被设置为b + a的旧值,而不是新值。
但是第二个代码b的值是在a用b的值更新后计算的。
希望很清楚。