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

Python奇偶性判断函数异常:输入13本应返回False却返回True

函数奇偶性判断问题排查

问题核心

输入13时,原数是奇数,各位数字和为4(偶数),二者奇偶性不同,函数本应返回False,但实际返回True,说明函数逻辑存在错误。

常见错误点及修正方案

1. 错误的判断条件

如果你的代码是类似这样的:

def par_analy(num):
    digit_sum = sum(int(d) for d in str(num))
    # 错误:判断原数和各位和是否相等,而非奇偶性一致
    return num == digit_sum

或者:

def par_analy(num):
    digit_sum = sum(int(d) for d in str(num))
    # 错误:逻辑或会导致只要其中一个是奇数就返回True
    return (num % 2 == 1) or (digit_sum % 2 == 1)

这类错误的核心是没有正确判断奇偶性是否一致。

2. 正确的逻辑实现

正确的判断应该是:原数的奇偶性(num % 2)和各位和的奇偶性(digit_sum % 2)是否相等。同奇或同偶时返回True,否则返回False。

修正后的函数:

def par_analy(num):
    # 计算各位数字之和
    digit_sum = sum(int(digit) for digit in str(num))
    # 判断奇偶性是否一致
    return (num % 2) == (digit_sum % 2)

测试验证

  • 调用par_analy(13):13 % 2 = 1,digit_sum = 4 % 2 = 0,1 != 0,返回False,符合预期。
  • 调用par_analy(243):243 % 2 = 1,digit_sum = 9 % 2 = 1,1 == 1,返回True,符合示例要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:14:57