您的位置:首页 > 编程语言 > Python开发

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

2015-04-18 05:23 148 查看
在学校的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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: