for的循環怎么列表最后的數算了兩次
for的循環怎么列表最后的數算了兩次 def s(L): ? ?s=0 ? ?for i in L: ? ? ? ?s=i*i ? ? ? ?return s ? ?return print s([1, 2, 3, 4, 5]) 》 1 4 9 16 25 25
for的循環怎么列表最后的數算了兩次 def s(L): ? ?s=0 ? ?for i in L: ? ? ? ?s=i*i ? ? ? ?return s ? ?return print s([1, 2, 3, 4, 5]) 》 1 4 9 16 25 25
2019-03-19
舉報
2019-03-19
你這個程序真的是毫無章法可言!?。∈紫?,函數名和函數體中的變量都是s,這就容易造成混亂;其次你的函數體里面怎么有兩個return,要知道在函數中,只要遇到return就會立刻返回值,第二個單獨的return顯得很沒有必要;最后,你程序的目的是為了輸出一個列表中所有數的平方,返回的值顯然不是一個列表,而只是一個值。
如果你想弄明白為什么會出現兩次25,你的程序應該更清楚一些,如縮進以及語句塊的歸屬等,這樣在別人的電腦上運行會得到同樣的結果,便于分析原因。