You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python数字集合循环处理代码问题:遇0输出异常、求和不符

修正后的代码及说明

先梳理你代码里的几个问题:

  • 遇到0时提前打印了"Done",导致输出重复,不符合"程序末尾始终输出Done"的要求
  • 最后一行把Done写成了D0ne(数字0而非字母o)
  • 没有利用for循环的else子句,反而用了额外的if判断,逻辑冗余
  • 循环内每次累加后就打印total,不符合需求中"未遇到0时输出总和"的要求

下面是修正后的代码:

total = 0
num_collection = (12, 4, 3, 33, -2, -5, 7, 0, 22, 4)

for num in num_collection:
    if num < 0:
        continue  # 忽略负数,满足规则2
    if num == 0:
        break  # 遇到0立即终止循环,满足规则1
    total += num
else:
    # 仅当循环未被break中断时执行,满足规则3
    print(total)

print("Done")  # 程序末尾固定输出,满足规则4

效果验证:

  • 当集合包含0时:循环触发break终止,不会执行else块,最终仅输出"Done",符合预期
  • 当移除集合中的0时:循环正常结束,else块打印有效数字总和85,随后输出"Done",符合预期

内容的提问来源于stack exchange,提问作者De Tech Guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 02:01:23