【程序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)