1樓:莫道無情
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。
2樓:匿名使用者
>>> a=1;b=2
>>> a,b=b,a+b
>>> print a,b
2 3其實也就是把a變成原來的b=2,b變成原來的a+b=3
3樓:匿名使用者
a,b=b,a+b
可以拆成
a = b, b = a + b
也就是說等號左邊的第一個位置的等於等號右邊的第一個位置等號左邊第二個位置的等於等號右邊第二個位置的。
(a, b) = (b, a + b)
要這樣看才行
python中的小問題,python中的一個小問題
函式遞迴呼叫的終止條件是引數n為0的時候,那你要保證n是整型。階乘本來就是整數的運算。符點數是不精確的,不建議用 來判斷是否和某個值相等,也即是n 0是基本上不會成立的。python中一個小問題 第一行你寫的是tempstr,s打的小寫的。下面成了大寫的 關於python的一個小問題 20 pyth...
python問題,python中的,問題?
反轉一個list,返回一個迭代器 iterator 如 range 10 0,1,2,3,4,5,6,7,8,9 reversed range 10 x for x in reversed range 10 9,8,7,6,5,4,3,2,1,0 還可以這樣完成反轉 range 10 1 9,8,7...
python中timedelta方法怎麼用
usr bin python coding utf 8from datetime import datetime,timedelta timedelta代表兩個datetime之間的時間差 now datetime.now past past datetime 2010,11,12,13,14,15...