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

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

求老師解答,我不知道這個運算里面是如何傳值的

我這樣為什么不可以,求大神解釋,這在Java里面是成立的啊

L?=?[75,?92,?59,?68]
a?=?0.0
for?a?in?L:
???a?+=?a
???print(a)
???#求告知為什么這里的a這么奇怪,是如何得出的
print(a?/?len(L))


正在回答

4 回答

#這里a+=a其實就是a=a+a,那就是遍歷L集合中每個元素,然后求兩倍結果,所以打印出來是兩倍數據
最后a停留在68的兩倍就是136,136/len(L)=34

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

shuqin2333 提問者

非常感謝!
2017-01-07 回復 有任何疑惑可以回復我~

第一行的a與for中的a是不一樣的。

代碼中同名變量的作用域是不同。for中的a的作用域固定為for循環中了,而for外的那個a的作用域只能作用于for循環之外的范圍了。


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

這個就跟迭代器一個道理啊,a只是在for循環里充當一個變量用來存值。所以就是等于第一輪a=75,所以打印出150,第二輪a=92,打印出184,以此類推。最后一輪a=68,打印出136,所以a最終等于136,所以a/len(L)=34

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

a = 0.0 #這里a已經定義了

for a in L#這里又定義了一個a ,變量名稱一樣當然報錯

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

舉報

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

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

進入課程

求老師解答,我不知道這個運算里面是如何傳值的

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

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

幫助反饋 APP下載

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

公眾號

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