标签:
在学校的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
标签:
原文地址:http://www.cnblogs.com/7070roro/p/4436548.html