【程序4】输入某年某月某日,判断这一天是这一年的第几天?

第一种方法:

def is_leap_year(year):
    if(year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        return True
    else:
        return False

def function1(year,month,day):
    leap_year = [31,29,31,30,31,30,31,31,30,31,30,31]
    no_leap_year = [31,28,31,30,31,30,31,31,30,31,30,31]
    if is_leap_year(year):
        result = sum(leap_year[:month - 1]) + day
    else:
        result = sum(no_leap_year[:month - 1]) +day
    return result

第二种方法

import datetime
day = datetime.date(2016,12,31)
print(day.strftime('%j'))

第三种方法

year = int(input('year:'))
month = int(input('month:'))
day = int(input('day:'))

months = (0,31,59,90,120,151,181,212,243,273,304,334)
if 0 <= month <= 12:
    sum = months[month - 1]
else:
    print('data error')
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
    leap = 1
if (leap == 1) and (month > 2):
    sum += 1
print('it is the %dth day.' % sum)
原文地址:https://www.cnblogs.com/fanren224/p/8457283.html