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

函数哪里有问题

任务是

请定义一个 square_of_sum 函数,它接受一个list,返回list中每个元素平方的和。


def square_of_sum(L):

    sum=0

    i=0

    if(i<len(L)):

        sum=sum+L[0]*L[0]

        i++

    return sum

    

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

print square_of_sum([-5, 0, 5, 15, 25])


正在回答

6 回答

执行到return的时候,函数就执行完毕了,以上的代码都是计算到L的第一元素的平方和,没有计算所有的元素的平方和,要怎么修改呢

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

没那么复杂,直接这样写就ok了,Python里面也没有++:

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])


0 回复 有任何疑惑可以回复我~
def square_of_sum(L):
    sum=0
    i=0
    if(i<len(L)):
        sum=sum+L[i]*L[i]
        i+=1
    return sum
    
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

修改成这样就OK了

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

健能agoodman

这样不对吧,应该用while而不是if
2016-07-26 回复 有任何疑惑可以回复我~
#2

飞翔32993 回复 健能agoodman

嗯嗯,失误了!
2016-07-27 回复 有任何疑惑可以回复我~

函数体中没有循环,if只是个判断语句,怎么会往下执行呢,再说L[0]那里也不对啊

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

修改后是可以的啊,我在编译器就可以跑,你复制一下再修改

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

i++在Python里面是没有的,所以i+=1这个形式才可以

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

sallas 提问者

运行后结果还是不对呢
2016-06-05 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

函数哪里有问题

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