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

如何分别打印闰年与非闰年?Python闰年模块及语法错误求助

闰年判断与打印的Python实现方案

一、用于判断闰年的Python模块

  • calendar模块:是最直接的选择,内置isleap()函数可以快速判断单个年份是否为闰年,返回True(闰年)或False(非闰年)。
  • datetime模块:可以尝试创建2月29日的日期对象,若成功则为闰年,失败(抛出ValueError)则为非闰年,不过这种方式不如calendar模块简洁。

二、打印指定范围内的闰年与非闰年

以2000-2024年为例,用calendar模块实现:

import calendar

start_year = 2000
end_year = 2024

print("闰年列表:")
for year in range(start_year, end_year + 1):
    if calendar.isleap(year):
        print(year, end=" ")

print("\n非闰年列表:")
for year in range(start_year, end_year + 1):
    if not calendar.isleap(year):
        print(year, end=" ")

如果要先收集到列表再打印,也可以用列表推导式:

import calendar

start_year = 2000
end_year = 2024

leap_years = [year for year in range(start_year, end_year+1) if calendar.isleap(year)]
non_leap_years = [year for year in range(start_year, end_year+1) if not calendar.isleap(year)]

print("闰年:", leap_years)
print("非闰年:", non_leap_years)

三、语法错误排查技巧

Python的语法错误(SyntaxError)会在报错信息里明确标注问题位置和原因:

  • 看报错信息里的File "<stdin>", line X,直接定位到第X行代码
  • 常见问题包括:
    • 循环、条件语句后漏写冒号:
    • 缩进不一致(混用空格和制表符)
    • 括号、引号未闭合
    • 变量名或关键字拼写错误
      比如写for year in range(2000,2024)后没加冒号,就会触发SyntaxError: invalid syntax,报错信息里的箭头会直接指向错误位置。

内容的提问来源于stack exchange,提问作者Satyam Pratap Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:40:17