Python练习题:输入某年某月某日,判断这一天是这一年的第几天?
#输入某年某月某日,判断这一天是这一年的第几天?
import sys
year = int(input("请输入年:\n"))
month = int(input("请输入月:\n"))
if month <= 0 or month > 12:
print('请输入正确的月份')
sys.exit(0)
day = int(input("请输入日:\n"))
if day <= 0:
print('请输入正确的日期')
sys.exit(0)
elif(month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12) and day > 31:
print('请输入正确的日期')
sys.exit(0)
elif(month == 4 or month == 6 or month == 9 or month == 11) and day > 30:
print('请输入正确的日期')
sys.exit(0)
elif(year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)) and month == 2 and day > 29:
print('请输入正确的日期')
sys.exit(0)
elif(year % 4 != 0 or year % 400 != 0) and month == 2 and day > 28:
print('请输入正确的日期')
sys.exit(0)
months1 = [0,31,60,91,121,152,182,213,244,274,305,335,366]#闰年
months2 = [0,31,59,90,120,151,181,212,243,273,304,334,365]#平年
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
date = months1[month-1]+day
else:
date = months2[month-1]+day
print('{}年{}月{}日是这年的第{}天'.format(year,month,day,date))