標籤:
在學校的19年,練習冊上的加分題總是習慣性的視而不見,作業做完就好,課文不要求背誦就不會多看一眼。誰想到,工作三年開始自學python,竟然默默寫起了選做題。想想總有一絲絲詼諧,原來為自己學真的會有所不同。特此貼出這麼紀念性的一題,以示紀念。
# Assume that the birthday and current date are correct dates (and no time travel).
def daysBetweenDates(year1, month1, day1, year2, month2, day2):
years = list(range(year1,year2+1))
if len(years) == 1:
return toLastDay(year1,month1,day1) - toLastDay(year2,month2,day2)
else:
daysInYears = 0
for y in years[1:]:
daysInYears = daysInYears + toLastDay(y,1,1)
if len(years) == 2:
return toLastDay(year1,month1,day1) + daysInYears - toLastDay(year2,month2,day2)
return toLastDay(year1,month1,day1) + daysInYears - toLastDay(year2,month2,day2) - 1
def toLastDay(year, month, day):
if isLeapYear(year):
daysOfMonths = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
else:
daysOfMonths = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
n = 0
for m in list(range(month,12+1)):
n = n + daysOfMonths[m-1]
return n - day + 1
def isLeapYear(year):
return year%4==0
時間真的會改變些什麼 - 至Python