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