python中的a,b=b,a+b怎么解释

莫道無情
2019-11-28 · TA获得超过1.5万个赞
知道答主
回答量:317
采纳率:100%
帮助的人:8.4万
展开全部

a,b=b,a+b,设a=0,b=1;

依据a,b的初始值,先计算‘=’号右边的值,暂时不考虑左边的值。可以得到:b=1;a+b=1,再将右边的值赋予给左边的值,所以a,b都是1。

故a,b=b,a+b的意思就是同时给a,b两个赋值。如果a,b=b,a,则是a,b进行值交换。与a,b=b,a+b等价的形式是:

a=0;

b=1;

c=a;a=b;b=c+b;

print(a,b); 

扩展资料:

 a,b=b,a+b 和 a=b b=a+b 的区别:

n,a,b=0,0,1;

while n<6:

print(b);

a,b=b,a+b;

n=n+1;

n,a,b=0,0,1;

while n<6:

print(b);

a=b;

b=a+b;

n=n+1;

输出结果不一样,如图

 a,b=b,a+b执行后a=1,b=1;

 a=b b=a+b执行后a=1,b=2。

matlab2000
推荐于2017-11-26 · TA获得超过2321个赞
知道大有可为答主
回答量:1678
采纳率:100%
帮助的人:1046万
展开全部
>>> a=1;b=2
>>> a,b=b,a+b
>>> print a,b
2 3

其实也就是把a变成原来的b=2,b变成原来的a+b=3
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
3dGrid
2012-04-20 · 超过13用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:30.7万
展开全部
a,b=b,a+b
可以拆成
a = b, b = a + b
也就是说等号左边的第一个位置的等于等号右边的第一个位置
等号左边第二个位置的等于等号右边第二个位置的。
(a, b) = (b, a + b)
要这样看才行
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式