计算某天是一年的第几天

大致思路
输入年月日:获取1月1号到上个月月末的天数 加上输入的日期值
注意:闰年且输入月份大于3时需考虑多加一天

year = input('year:\n')
month = input('month:\n')
day = input('day:\n')
months = (0,31,59,90,120,151,181,212,243,273,304,334) #0~12个月的天数
if 0 < month <= 12:
     sum = months[month - 1]
else:
     print('month error')
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):   #算闰年
     ryear = 1
if (ryear == 1) and (month > 2):
     sum += 1
print( 'it is the %dth day.' % sum)

闰年
公历年份是整百或整千的(也就是年份末尾至少有2个0的),用年份除以400,如果能整除,就是闰年,不能整除就是平年,
公历其他的年份,用年份除以4,如果能整除,就是闰年,不能整除就是平年,
如1900年,1900÷400=4……300 就是平年,平年2月是28天.
2000年,2000÷400=5 就是闰年,闰年2月是29天.
2002年,2002÷4=500……2就是平年
2004年,2004÷4=501 就是闰年
闰年2月是29天 平年2月是28天.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mr.杰瑞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值