时间真的会改变些什么 - 至Python

在学校的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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。