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

谁能向我解释为什么相同的函数不能得到相同的结果

谁能向我解释为什么相同的函数不能得到相同的结果

一只萌萌小番薯 2021-07-14 17:14:47
def sum2(numbs):    s = 0    for x in numbs:        print(x)        s += x    return sdef sum3(numbs):    s = 0    for x in numbs:        print(x)        s += x        return slist1 = [1, 2, 3, 4, 5]函数 sum2 结果如下:1234515而 sum3 如下所示:11sum3 只是更改了函数名称,其他所有内容都没有更改。为什么结果不一样?
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

return s处于循环中sum3。因此,循环只工作 1 次。


def sum3(numbs):

    s = 0

    for x in numbs:

        print(x)

        s += x

        return s #This return must be outside of the loop


查看完整回答
反对 回复 2021-07-21
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

在 中sum3,您拥有return循环内部。在 python 函数中,当函数遇到返回时,它返回值并“退出”函数。这意味着您的第一个函数在退出之前循环遍历整个范围,而第二个函数只循环一次


查看完整回答
反对 回复 2021-07-21
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

“return s”的缩进是不同的。它现在发生在 for 循环内。您必须取消缩进,以便在 for 循环结束后执行此行。


查看完整回答
反对 回复 2021-07-21
  • 3 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号