根据输入的日期,计算是这一年的第几天。
保证年份为4位数且日期合法。
进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(1)\O(1)
输入描述:输入一行,每行空格分割,分别是年,月,日
输出描述:输出是这一年的第几天
输入:2012 12 31
输出:366
输入:1982 3 4
输出:63
def exam(instr):
ins = instr
lis = list(map(int,ins.split(' ')))
# [2012, 12, 31]
year = lis[0]
month = lis[1]
day = lis[2]
cnt = []
if year % 4 != 0:
dic = {1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
for i in range(1,month):
cnt.append(dic[i])
# print(i,'===',cnt)
# 1 === [31]
# 2 === [31, 28]
# 11 === [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]
cnt.append(day)
print(sum(cnt))
if year % 4 == 0 and year != 1900:
dic_run = {1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
for i in range(1,month):
cnt.append(dic_run[i])
# print(i,'===',cnt)
# 2 === [31, 29]
# 11 === [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30]
cnt.append(day)
print(sum(cnt))
# 366
# 特殊情况单独处理,没有百度,你就什么都不知道,哎
if year == 1900 :
dic_run = {1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
for i in range(1,month):
cnt.append(dic_run[i])
cnt.append(day)
print(sum(cnt))
# 365
instr = input().strip()
exam(instr=instr)