定義函數嵌套sun()
定義函數嵌套函數,感覺邏輯上沒錯,但是為什么答案是15和40而不是平方和。
def square_of_sum(L):
? ? for x in L:
? ? ? ? x=x*x
? ? return sum(L)
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
定義函數嵌套函數,感覺邏輯上沒錯,但是為什么答案是15和40而不是平方和。
def square_of_sum(L):
? ? for x in L:
? ? ? ? x=x*x
? ? return sum(L)
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
2016-03-25
舉報
2016-03-25
這個邏輯很簡單,題主仔細看的話,很快就能明白,我分步驟來講下,這個函數的調用過程:
調用square_of_sum([1, 2, 3, 4, 5])
執行?
????在這一步,只是簡單的做了一個列表循環,并沒有改變列表L ,也就是[1,2,3,4,5]中的值。 這就涉及到 Python for 循環的原理了,在上面這個典型的for循環中,所做的只是,依次從列表中提出一個值,賦值給變量x, 改變x的值,并不能改變列表本人的值。
?3. 執行 sum([1,2,3,4,5]), 所以函數最終返回的只是 原列表的 和。
2016-03-25
Sorry, 被問題誤導了, 看了下課程, 是返回列表的平方和, 而不是改變列表后再求和。 所以代碼如下:
2016-03-25