根据输入日期判断改日是今年的第几天
首先需解决两个问题
第一:这个月之前有多少天
第二:该年是否为闰年,若月份小于三月,则该判断无效。
完整代码:
year = int(input("输入年份:"))
month = int(input("输入该月份:"))
day = int(input("输入该月过了几天:"))
# 首先将十二个月天数依次累计
months = [0, 31, 59, 90, 120, 151, 181, 212, 242, 273, 304, 334]
# 确定这个月之前的天数
if 0 <= month <= 12:
sum = months[month - 1]
else:
print("超出月限了")
# 该月之前的天数加上本月已经过得天数
sum += day
# 判断是否是闰年,如果是且月份大于2(不包括2时),需要在原有基础上加一
if (year % 400 == 0) or (year % 4 == 0) and (year % 100 != 0):
if month > 2:
sum += 1
print("这天是 %d 年的第 %d 天" % (year , sum))
运行结果:
闰年:
平年: