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

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

這邏輯搞不懂了

sum=0.0?

sum=sum+x?

那是不是 ?0.0=0.0+x?

這啥JB邏輯?

正在回答

4 回答

這個sum=sum+x使用的是累加原理.

首先定義一個浮點數類型的變量sum,它的值是0.0 , 通過for循環的遍歷,它從list中每取一次值,就跳出循環一次,直到取完為止.(如果不懂這句話的意思,請在循環下自行添加print x,就會發現它打印的是list中所有的元素,而且每個元素都自動分行打印,表示取出來一個元素,就打印了一次.)

現在來說sum=sum+x, x每次都會得到不同的值, 變量sum加上x并把這個加完的值賦給等號左邊的sum,此時的sum就擁有了當前的值. 進入下一次循環的時候,擁有當前值的sum會再次加x的值,并把新的值繼續賦給sum,直到list所有元素遍歷完成.

舉個例子 : 求元素的和. list中有L=[1,2,3,4], 定義一個變量, 就叫 he = 0, 使用循環for x in L:? he=he+x, print he??? 第一次循環的時候, he+x 就相當于 0+1, 此時he的值就是1,它得到了x的第一次循環的元素. 進入第二次循環, x此時的值成了2,? 那么? he+x 就相當于 1+2, he的結果就被賦值成為3.? 依此類推. 最后he的值就是list中所有元素的和.

至于sum為什么定義成0.0 , 主要是因為最后print求的是平均值. 如果你需要平均值保留小數位,就得用浮點型的變量存數值. 當然,你也可以把sum定義成0, 不過最后sum/4一定會返回一個整數值. 也就是說, 定義成0.0 代表的是浮點數,定義成0,最后結果就一定是舍棄小數位的整數.

感謝看完,希望對您有幫助. 都是新手,共同學習吧.

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

sum 是一個局部變量,0.0是個浮點型數據大小為0,因為后邊有除法,為了避免系統自動取整,所以要把數據變為浮點型

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

據我的理解是,那個0.0并不是數學上的0.0,而是一種賦值的語句,這個的意思是把sum的值+x的值再得出新的sum值。在這個題的前面應該有關于初始sum具體是多少的吧?

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

我的理解來看,sum只是一個變量,它指向它此刻存放數據的地方,也就是存放0.0的位置,然后下面那句就是把這個變量指向的數據拿出來做+x的操作,也就是將0.0再加上x,然后操作完了之后又將其放回了原來的位置。

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

飄雪的浮云 提問者

那意思是不是,循環中當sum有了值后,之前的值就失效了?
2016-11-20 回復 有任何疑惑可以回復我~
#2

_266 回復 飄雪的浮云 提問者

就是將值拿出來做完運算再放回去相同的位置,然后sum變量是一直指向那個位置的,也可以說就是覆蓋了之前的值吧
2016-11-20 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

這邏輯搞不懂了

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

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

幫助反饋 APP下載

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

公眾號

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