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

Python布尔运算使用是否正确?奇偶判断代码输入后无输出求助

问题分析与修正

你的代码存在两个关键错误,导致输入整数后无输出:

  • 错误调用check函数:main里的if check is True是在判断check这个函数对象本身是否等于布尔值True,这永远不会成立。你需要调用check(number)传入用户输入的数值,获取它返回的布尔判断结果。
  • 主程序入口写法错误:__name__ == "__main__"只是一个比较表达式,没有执行逻辑,必须用if语句包裹,才能在脚本直接运行时触发main函数。

另外,check函数可以简化,无需if-else结构,直接返回判断表达式的布尔结果即可,逻辑和原代码完全一致但更简洁。

修正后的完整代码:

def check(number):
    return number % 2 == 0  # 直接返回奇偶判断的布尔结果

def main():
    number = int(input("Enter an integer: "))
    if check(number):  # 调用check并传入输入值,判断返回结果
        print("This is an even number.")
    else:
        print("This is an odd number.")

if __name__ == "__main__":  # 正确的主程序入口写法
    main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:10:31