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]))
因为是要列表元素平方和,所以必须要用一个‘容器’存储每个元素平方和的累加值,所以需要‘sum’;
其次关于为什么sum=0,python是解释型语言,变量不需要声明,但需要进行初始化。如果不进行初始化(即给sum赋值),系统只是为sum分配了一个内存空间,sum就如同一个只有躯壳,没有灵魂的‘行尸走肉’,就没有办法和其他数据进行运算,即sum=sum+x*x,就会出现报错。个人拙见,希望对你有用