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

编写Python程序:输入整数n,分别计算其奇偶数字之和的问题求助

计算整数中偶数数字与奇数数字的和

原代码的问题

你的代码核心逻辑错误在于:

  • 遍历的是数位的位置序号(从0到数字的长度),而非输入整数的每一位数字
  • 累加的是位置序号的奇偶和,完全没有处理数字本身的奇偶性

正确实现方法

方法1:通过字符串遍历每一位数字

这种方法直观易懂,适合快速实现:

n = input().strip()
sum_e = 0
sum_o = 0
for digit_char in n:
    digit = int(digit_char)
    if digit % 2 == 0:
        sum_e += digit
    else:
        sum_o += digit
print(sum_e, sum_o)

方法2:通过数学运算逐位提取数字(不转字符串)

如果不想用字符串处理,可以用取模和整除操作逐位取出数字,同时兼容负数和0的情况:

n = int(input().strip())
sum_e = 0
sum_o = 0
num = abs(n)
while num > 0:
    digit = num % 10
    if digit % 2 == 0:
        sum_e += digit
    else:
        sum_o += digit
    num = num // 10
# 单独处理输入为0的情况
if n == 0:
    sum_e = 0
print(sum_e, sum_o)

代码说明

  • 方法1将输入转为字符串后,直接遍历每个字符并转为数字,判断奇偶后累加到对应总和中
  • 方法2通过num % 10提取最后一位数字,num // 10移除最后一位,循环处理所有数位;用abs(n)处理负数情况,单独判断输入为0的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:30:53