菜鸟请教,这样有何不可
sum=0 def square_of_sum(L): for x in L: sum += x*x return sum print square_of_sum([1, 2, 3, 4, 5]) print square_of_sum([-5, 0, 5, 15, 25])
sum=0 def square_of_sum(L): for x in L: sum += x*x return sum print square_of_sum([1, 2, 3, 4, 5]) print square_of_sum([-5, 0, 5, 15, 25])
2016-10-02
UnboundLocalError: local variable 'sum' referenced before assignment
——使用python gui运行时错误的理由 鉴于我也是零基础学习python,所以个人理解是你在定义函数之前就写了sum=0,导致了return的时候sum不能成为一个变量,而是一个常量,于是不能输出正确值。 而且更改过的代码(如下)得出所求,可印证个人观点。
def square_of_sum(L):
sum =0
for x in L:
sum += x*x
return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
举报