问答详情
源自:9-2 Python定义函数

为什么必须要设置sum=o 然后用sum+sum + x * x,直接写x * x不可以吗

def square_of_sum(L):
    sum = 0
    for x in L:
        sum = sum + x * x
    return sum
print(square_of_sum([1, 2, 3, 4, 5]))
print(square_of_sum([-5, 0, 5, 15, 25]))


提问者:qq_慕函数5333745 2023-10-17 14:08

个回答

  • 慕粉1858098231
    2023-10-18 23:41:23

    因为是要列表元素平方和,所以必须要用一个‘容器’存储每个元素平方和的累加值,所以需要‘sum’;

    其次关于为什么sum=0,python是解释型语言,变量不需要声明,但需要进行初始化。如果不进行初始化(即给sum赋值),系统只是为sum分配了一个内存空间,sum就如同一个只有躯壳,没有灵魂的‘行尸走肉’,就没有办法和其他数据进行运算,即sum=sum+x*x,就会出现报错。个人拙见,希望对你有用