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

关于return sum缩进问题,得出不同结果的疑问,求解?

def square_of_sum(L):
   sum = 0
   for n in L:
       sum += n*n
       return sum
   return sum

print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

为什么只显示1、25,如果我既想得到list第一项的平方,也想得到list全部平方和,代码该怎么改?return sum不同的缩进代表着不同的逻辑?不是太理解,求解?

正在回答

3 回答

def square_of_sum(x):
    a=[]
    b=[]
    for i in x:
        a.append(i*i)
    b.append(a[0])
    b.append(a[-1])
    return b
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])


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

远房阿叔 提问者

非常感谢!太感谢了,辛苦辛苦
2015-11-30 回复 有任何疑惑可以回复我~

def square_of_sum(L):
    x = 0
    for he in L:
        x = x + he * he
        print x
    return x

print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])


把前面的return换成打印print就行了

0 回复 有任何疑惑可以回复我~
def square_of_sum(*x):
	a=[]
	for i in x:
		a.append(i*i)
	return a

然后调用函数,例如square_of_sum(1,2,3,4,5)

则会返回[1, 4, 9, 16, 25]

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

远房阿叔 提问者

不是各项的平方,而是想体现各项的平方和~ 分别输出1,25 55,900
2015-11-30 回复 有任何疑惑可以回复我~
#2

JayD 回复 远房阿叔 提问者

你是想吧list里的所有数先求平方,然后全部相加并返回吗? 那可以def square_of_sum(*x): a=[] for i in x: a.append(i*i) return sum(a)
2015-11-30 回复 有任何疑惑可以回复我~
#3

JayD 回复 远房阿叔 提问者

在下面给你上代码吧
2015-11-30 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

关于return sum缩进问题,得出不同结果的疑问,求解?

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