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

如何编写程序:输入365天制年日数返回对应月日日期

编写“第几天转日期”程序的实现方法

核心逻辑

先预设非闰年各月份的天数,通过循环逐个减去每个月的天数,直到剩余天数不超过当前月份的天数,此时就能确定对应的月份和具体日期。

具体实现(Python示例)

# 定义月份名称和对应天数(非闰年,共365天)
months = ["一月", "二月", "三月", "四月", "五月", "六月", 
          "七月", "八月", "九月", "十月", "十一月", "十二月"]
month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

# 获取用户输入并验证合法性
while True:
    try:
        day_of_year = int(input("请输入一年中的第几天(1-365之间的数字):"))
        if 1 <= day_of_year <= 365:
            break
        else:
            print("输入无效,请输入1到365之间的数字!")
    except ValueError:
        print("输入无效,请输入整数!")

# 计算对应的月份和日期
month_index = 0
remaining_days = day_of_year
while remaining_days > month_days[month_index]:
    remaining_days -= month_days[month_index]
    month_index += 1

# 输出结果
print(f"日期:{months[month_index]} {remaining_days}")

代码说明

  • 输入验证:通过循环确保用户输入的是1-365之间的整数,避免非法输入导致程序出错。
  • 日期计算:从第一个月开始,用剩余天数减去当前月的天数,直到剩余天数小于等于当前月天数,此时的月份和剩余天数就是目标日期。
  • 示例测试:输入100时,程序会依次减去一月(31)、二月(28)、三月(31),剩余10天,对应四月10日,输出日期:四月 10。

内容的提问来源于stack exchange,提问作者Alīna Rubcova

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:50:24