将某年的所有过去的月份加起来,再加上本月过去的天数,即为已经过去的天数.(注意闰年二月29天,平年二月28天)
闰年分为普通闰年(年份是4的整数倍,但不为100的整数倍) 和 世纪闰年(年份是400的整数倍)
代码实现:
year=int(input("year:"))
month=int(input("month:"))
day=int(input("day:"))
sum=0 #天数
day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if (year % 4 == 0 and year % 100 !=0) or year % 400 == 0: #满足闰年条件,二月份为29天.
day_month[1]=29
for i in range(0,month):
sum+=day_month[i]
sum+=day
print(f"{year}年{month}月{day}日是{year}的第{sum}天.")
运行实例:
year:2020
month:6
day:29
2020年6月29日是2020的第211天.