亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

標下劃線的三條代碼順序不一樣,輸出結果就不一樣,雖然寫的有點累贅,不過這是一開始的想法,誰能解釋一下這三條代碼順序執行的時候是怎么進行的

sum = 0
x = 1
n = 1
while True:
??? sum=sum+x
??? n=n+1
??? x=2**(n-1)

??? if n > 20:
??????? break
print sum

正在回答

2 回答

原因在n = n +1和x = 2 **(n-1)這兩句,如果這兩句順序調換,結果就會不一樣。比如某一次循環中n == 2,則此時n = n+1計算出 n ==3,此時再去計算 x = 2 ** (n-1)這一句,結果x為4;如果這兩句換個次序,先計算x,結果為x==2.也就是說,每次循環中算出來的x的值在兩種不同順序下是不一樣的,這導致了sum的最終結果不一樣

0 回復 有任何疑惑可以回復我~

/*這種表示是注釋的意思*/Phthon里就是#

sum是和嘛,第一行就是sum=0+1=1? #等號左邊的東西是變量也就是名字的意思,右邊的才是真正計算的數字

然后執行第二句n=1+1=2? #注意?。?!這里n已經變成了2了

最后是第三句x=2 * (2-1)=2? #上面的n已經變成了2,所以這里n帶入計算是2不是1,還有就是**沒看懂,*才是乘的意思

n?=?n?+?1
x?=?2?*?(n?-?1)
sum?=?sum?+?x

如果要是這個順序,n=1+1=2

x=2*(2-1)=2

sum=0+2=2

所以跟上面的值就不一樣了。計算機很單純,不給一個特殊要求的話就是逐行解析語句從上到下,上面的前因(值)變了后面的結果(結果)自然變了

1 回復 有任何疑惑可以回復我~
#1

Python小白變大牛 提問者

**在python里是次方的意思,你理解錯了,不是2*(n-1)
2017-10-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758390    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

標下劃線的三條代碼順序不一樣,輸出結果就不一樣,雖然寫的有點累贅,不過這是一開始的想法,誰能解釋一下這三條代碼順序執行的時候是怎么進行的

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號