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

为什么会是这样的结果啊

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

==>1

       25

正在回答

4 回答

def square_of_sum(L):

    sum=0

    for x in L:

        sum=sum+x*x

        return sum(这里错了这样写的话for循环在迭代第一个元素之后就结束了,return是结束循环返回一个值)

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

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

改成这样

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



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

你的sum函数用的不对。正确编写如下:

def square_of_sum(L):

    s = []

    for f in L :

        s.append(f*f)

    return sum(s)

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

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


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

你这里return要放到for循环外面哦,在return前面删一格就行

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

return sum 缩进不对,要按下删除键,与for对齐,它是def的语句,不是for循环里的语句

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

举报

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

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

进入课程

为什么会是这样的结果啊

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