try:
y = int(input('请输入年份:'))
if y not in range(1700, 9999):
print('日期请输入1990到9999之间')
exit(1)
except ValueError as e:
print('请输入有效的年份')
exit(1)
flag = False
if y < 9999:
if y % 100 == 0:
if y % 400 == 0:
flag = True
else:
flag - False
elif y % 4 == 0:
flag = True
else:
flag = False
# 定义月份
if flag:
month_day = {1: 31, 2: 29, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
else:
month_day = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
# 月份
try:
m = int(input('请输入月份:'))
except ValueError:
print('请输入有效的月份')
# 判断月份
if m not in month_day:
print('月份输入有误')
exit(1)
# 日期
try:
d = int(input('请输入日期:'))
except ValueError:
print('请输入有效的天数')
exit(1)
# 判断日期
if d < 1 or d > month_day[m]:
print('日期输入有误')
exit(1)
# 计算天数
days = 0
for i in range(1, m):
days += month_day[i]
print('这是%s年度第%s天' % (y, (days + d)))