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

Python如何仅打印奇数与偶数各自的最终累加和

问题原因&修复方案

你的代码出现重复打印中间结果的核心原因是print语句的缩进位置错误,同时还存在变量覆盖的隐藏bug,调整方法如下:

  • Python靠缩进判断代码块归属,你当前的两个print语句都写在if分支内部,每完成一次累加就会触发打印,只要把print调整到和for循环同级的位置,等整个循环跑完再打印,就能只输出最终结果
  • 不要用接收用户输入的n作为循环迭代变量,否则会覆盖原来的输入值,导致第二个循环的取值范围错误,建议把循环变量改成i
  • 原代码里的n >= 1是无效语句,没有实际作用,如果需要校验输入值必须大于等于1,可以补全分支判断逻辑

修正后完整代码

# 允许用户输入数字
n = input("Enter a number: ")
n = int(n)
# 如果需要校验输入合法性可以放开下面的注释
# if n < 1:
#     print("输入值必须大于等于1")
#     exit()

# 偶数求和
total = 0
for i in range(1, n+1):
    if i % 2 == 0:
        total += i
# 循环结束后再打印,缩进和for保持同级
print("Sum of even numbers: ", total)

# 奇数求和
total2 = 0
for i in range(1, n+1):
    if i % 2 == 1:
        total2 += i
# 循环结束后再打印,缩进和for保持同级
print("Sum of odd numbers: ", total2)

内容的提问来源于stack exchange,提问作者user14443749

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 04:24:00