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

如何使用循环逻辑打印2022年dd/mm/22格式的日期列表并处理月份天数问题

2022年合法日期打印代码修改方案

原代码核心问题

  • 内层循环固定遍历1~31的所有天数,没有和月份的合法天数限制绑定,即使补充月份判断也会输出4/31/22、2/30/22这类非法日期
  • 原逻辑用偶数月判断30天的规则不准确:8、10、12月为偶数月但有31天,9、11月为奇数月但只有30天,该判断规则本身不成立

修改后代码(直接运行即可输出符合要求的dd/mm/22格式合法日期)

# 数组索引1~12对应1~12月的2022年合法天数,2022年非闰年2月为28天
month_max_days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

for month in range(1, 13):
    # 内层循环仅遍历当月合法的天数范围,从根源避免生成非法日期
    for day in range(1, month_max_days[month] + 1):
        print(f"{day}/{month}/22")

如果不想用预定义数组,也可以用条件判断动态计算当月最大天数,逻辑完全一致:

for month in range(1, 13):
    if month == 2:
        max_day = 28
    elif month in (4, 6, 9, 11):
        max_day = 30
    else:
        max_day = 31
    for day in range(1, max_day + 1):
        print(f"{day}/{month}/22")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:54:05