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

Python新手求助:判断闰年函数无返回值,代码问题排查

你的闰年判断程序没输出的原因及修复方案

嘿,作为Python新手遇到这种问题很正常,咱们一步步拆解你的代码问题:

问题1:缩进错误(Python的核心规则!)

Python是靠缩进区分代码块的,你定义函数leap_y之后,函数内部的代码(比如leap = False、if判断这些)都没有缩进,这会导致函数实际上是空的,或者代码不属于函数体,运行时根本不会执行到判断逻辑。

问题2:闰年判断逻辑搞反了

正确的闰年规则是:

  • 能被4整除,但不能被100整除;或者
  • 能被400整除的年份

你写的条件year % 4 == 0 and (year % 400 == 0 or year % 100 == 0) 会把很多非闰年也判定为闰年(比如1900年,能被100整除但不能被400整除,不是闰年,但你的条件会错误认为它是闰年)。

问题3:没有调用函数并输出结果

你最后获取了输入的年份,但既没有调用leap_y(year)函数,也没有打印返回的布尔值,所以程序运行后自然看不到任何输出。


修正后的完整代码

def leap_y(year):
    leap = False
    # 修正后的闰年判断逻辑
    if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
        leap = True
    return leap

year = int(input())
# 调用函数并打印结果
print(leap_y(year))

你可以运行这段代码试试,输入不同的年份(比如2000、1900、2024)就能看到正确的布尔结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:07:46