定义函数嵌套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
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])
这个逻辑很简单,题主仔细看的话,很快就能明白,我分步骤来讲下,这个函数的调用过程:
调用square_of_sum([1, 2, 3, 4, 5])
执行
for x in L: x=x*x
在这一步,只是简单的做了一个列表循环,并没有改变列表L ,也就是[1,2,3,4,5]中的值。 这就涉及到 Python for 循环的原理了,在上面这个典型的for循环中,所做的只是,依次从列表中提出一个值,赋值给变量x, 改变x的值,并不能改变列表本人的值。
3. 执行 sum([1,2,3,4,5]), 所以函数最终返回的只是 原列表的 和。
举报