为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码为什么不行?错在哪里???

>>> L=[]
>>> G=[]
>>> def square_of_sum(L):
	for x in L:
		G.append (x*x)
		return sum(G)

	
>>> 
>>> print square_of_sum([1,2,3,4,5])

这段代码为什么不行?错在哪里???

正在回答

2 回答

return sum(G)位置写错了,写在了for循环之内。


def square_of_sum(L):

    for x in L:

        G.append (x*x)

    return sum(G)  #  正确位置


0 回复 有任何疑惑可以回复我~
#1

Jack_No_1 提问者

非常感谢,另外我还想问一下,是不是没有必要先定义出L[]和G[]啊?
2016-11-17 回复 有任何疑惑可以回复我~
#2

sinoxwang 回复 Jack_No_1 提问者

没有必要,因为不起任何作用。请注意在函数定义时的参数属于“形式参数”,也就是说def square_of_sum(L):这里的L和之前的L = []并不相同,是完全不相关的两个list。只有在之后函数调用时square_of_sum([1,2,3,4,5]), list [1,2,3,4,5]才被赋值给形参L。
2016-11-17 回复 有任何疑惑可以回复我~
#3

Jack_No_1 提问者

回复 sinoxwang明白了 谢谢大神。
2016-11-17 回复 有任何疑惑可以回复我~
#4

慕粉4130263 回复 sinoxwang

请问 改成正确位置后,print square_of_sum([-5, 0, 5, 15, 25])的结果为什么是955?
2017-03-07 回复 有任何疑惑可以回复我~
查看1条回复

sum(G)是不可行的吧。如果你是想计算L[]里的平方和。应该写sum=0,sum=sum+x*x。 return sum 就好了,没必要弄个G[]

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

这段代码为什么不行?错在哪里???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信