求老師解答,我不知道這個運算里面是如何傳值的
我這樣為什么不可以,求大神解釋,這在Java里面是成立的啊
L?=?[75,?92,?59,?68] a?=?0.0 for?a?in?L: ???a?+=?a ???print(a) ???#求告知為什么這里的a這么奇怪,是如何得出的 print(a?/?len(L))
我這樣為什么不可以,求大神解釋,這在Java里面是成立的啊
L?=?[75,?92,?59,?68] a?=?0.0 for?a?in?L: ???a?+=?a ???print(a) ???#求告知為什么這里的a這么奇怪,是如何得出的 print(a?/?len(L))
2017-01-07
舉報
2017-01-07
2017-01-07
第一行的a與for中的a是不一樣的。
代碼中同名變量的作用域是不同。for中的a的作用域固定為for循環中了,而for外的那個a的作用域只能作用于for循環之外的范圍了。
2017-01-07
這個就跟迭代器一個道理啊,a只是在for循環里充當一個變量用來存值。所以就是等于第一輪a=75,所以打印出150,第二輪a=92,打印出184,以此類推。最后一輪a=68,打印出136,所以a最終等于136,所以a/len(L)=34
2017-01-07
a = 0.0 #這里a已經定義了
for a in L#這里又定義了一個a ,變量名稱一樣當然報錯