日期函数

用函数实现,输入某年某月某日,判断这一天是这一年的第几天(闰年考虑在内
第一种:

list=[31,60,91,121,152,182,213,244,274,305,335,366]
def date(year,mouth,day):
   '''

   :param year:#输入年份
   :param mouth:#输入月份
   :param day:#输入日期
   :return:
   '''

   if 0=3:
         if year % 4 == 0 or year % 100 != 0 and year % 400 == 0:
            print('日期存在')
            print('闰年')
            days = list[mouth - 2] + day
            print(days)
         else:
            print('日期存在')
            print('平年')
            days = list[mouth - 2] + day-1
            print(days)
   else:
      print('日期输入错误')
#date(2000,2,29)
date(2001,2,28)

第二种

def year(y):
    '''
    定义判断2月份天数的函数
    :param y: 输入的年份
    :return: 2月的天数
    '''
    if (y%4 == 0 and y%100 != 0) or (y%400 == 0):
        return  29
    else:
        return  28

def daynum(day):
    '''
    定义判断输入的某一天是这一年的第几天
    :param day:输入的年月日字符串
    :return:返回的是输入的某一天是这一年的第几天
    '''
    try:
        list_day = day.split('.') #对输入的字符串进行切片并生成列表
        y = int(list_day[0]) #将列表内元素的字符串类型转成数字类型
        m = int(list_day[1])
        d = int(list_day[2])
        mouth2 = year(y)
        list_mouth = [31,mouth2,31,30,31,30,31,31,30,31,30,31]
        # 判断输入的2月份的 月和日 是否符合要求 如果符合就返回天数
        if m == 2 and (0 

你可能感兴趣的:(练习)