課程
/后端開發
/Python
/初識Python
sum?=?0 x?=?1 while?x<100: ????sum=sum+x ????x=x+2 print?sum #假如把sum=sum+x和x=x+2換過在運行為什么等于2600不是等于2500
2018-12-08
源自:初識Python 5-5
正在回答
按照原順序,sum=1+3+5+...+99。如果改變順序的話,x會先累加再與sum相加,sum=3+5+7....+101。
最后會比原來多一個101,少一個1.
可是竟然通過了,要不是看了下答案還沒發現問題
因為原本X=101時不會執行求和代碼。但換了位置后,對X=101時,緊接的就是求和公式,之后才是判定。也就說還來得及判定和S相加了,所以說多加了一個本不該加的X。此時X=101
開頭的地方又由于x=x+2在求和公式之上,所以第一個X是3,并不是1,也就是漏加了一個1。而多加了一個101.
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-12-08
按照原順序,sum=1+3+5+...+99。如果改變順序的話,x會先累加再與sum相加,sum=3+5+7....+101。
最后會比原來多一個101,少一個1.
2019-03-09
可是竟然通過了,要不是看了下答案還沒發現問題
2018-12-27
因為原本X=101時不會執行求和代碼。但換了位置后,對X=101時,緊接的就是求和公式,之后才是判定。也就說還來得及判定和S相加了,所以說多加了一個本不該加的X。此時X=101
開頭的地方又由于x=x+2在求和公式之上,所以第一個X是3,并不是1,也就是漏加了一個1。而多加了一個101.