输入某年某月某日,判断这一天是这一年的第几天?

本文介绍如何使用Python编程解决日期计算问题,具体是输入年、月、日,程序返回这一天在当年中的第几天。通过示例代码详细解析实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

def yer1(year,month,day):
   # tmonth = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
   # 判断是否闰年
    if year % 4 == 0:
        # 判断月份的天数
        if month == 2 and (day > 29 or day < 1):
            print("日期错误%s,只有 29天,请重新输入" % month)
            return False
        tday = (0,31,29,31,30,31,30,31,31,30,31,30,31)
    else:
        if month == 2 and (day > 28 or day < 1):
            print("日期错误%s,只有 28天,请重新输入" % month)
            return False
        tday = (0,31,28,31,30,31,30,31,31,30,31,30,31)
    days = 0
    for i in range(0,month):
        days = days + tday[i]
    days = days + day

    print("%s 年 %s 月 %s日 是当年的第 %s天"%(year,month,day,days))

def open():
    year = int(input("请输入年份:"))
    month1 = int(input("请输入月份:"))
    day1 = int(input("请输入日期:"))
    # 判断月份是否正确
    if month1 >12 or month1 <1:
        print("月份错误,请重新输入")
        return
    tuple1 = (1,3,5,7,8,10,12)
    if month1 in tuple1 and ( day1>31 or day1 <1):
        print("日期错误%,只有 31天,请重新输入"%month1)
        return
    tuple2 = (4, 6, 9, 11,)
    if month1 in tuple2 and (day1 > 30 or day1 < 1):
        print("日期错误%,只有 30天,请重新输入" % month1)
        return

    yer1(year,month1,day1)

def main():
    while True:
        open()

if __name__=="__main__":
    main()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值