python中的for循环为啥返回8000而不是9020

Posted

技术标签:

【中文标题】python中的for循环为啥返回8000而不是9020【英文标题】:for loop in python why does this return 8000 not 9020python中的for循环为什么返回8000而不是9020 【发布时间】:2022-01-21 18:14:34 【问题描述】:

有谁知道为什么返回 8000 而不是 9020.. 但是当我不缩进 return 语句时,它给了我 9020?

[这是我的代码]

def over_nine_thousand(lst):
    sum = 0
    for num in lst:
        sum += num
        if sum > 9000:
            break
        return sum

【问题讨论】:

请将您的代码发布为文本,而不是图像。 你知道缩进有什么作用吗? 如现在所写,它在第一次迭代后返回,但如果你不缩进,它会迭代 lst 并在 lst 被消耗或 @987654325 时到达 return @ 超过 9000。 你在 for 循环中有一个 return 语句。因此循环只会运行一次,因为return 会导致函数终止。大概您打算将 return 放在 for 循环之外。 【参考方案1】:

下次请创建完全可复制的示例并将其添加为文本,这样您将更有可能收到高质量的答案。

def func(lst):
    sum = 0
    for num in lst:
        sum+= num
        if(sum>9000):
            break
    return sum

你需要 return 在 func 内部但在 for 外部。

【讨论】:

以上是关于python中的for循环为啥返回8000而不是9020的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 for 循环覆盖而不是追加?

从python中的for循环返回值

python中为啥我的for循环里嵌套的if只能循环一次?

为啥 C 和 C++ for 循环使用 int 而不是 unsigned int?

为啥这段代码在 for 循环中只使用 x 而不是 x 和 y? [关闭]

为啥在 C for 循环的条件中使用表达式而不是常量?