有没有比这个还更简单而且考虑到闰年的?(100,1500,2100...这些年都不是闰年)代码放下:
year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
day=int(input("请输入日期:"))
bmonth=(1,3,5,7,8,10,12)
smonth=(4,6,9,11)
pday=(0,31,59,90,120,151,181,212,243,273,304,334)
rday=(0,31,60,91,121,152,182,213,244,274,305,335)
if year<0:
print("您输入的年份有误")
elif year>=0 and year%400==0 or year % 100 != 0 and year % 4 == 0:
if month>12 or month<1:
print("您输入的月份有误")
else:
if month in bmonth and day <=31 and day >0 or month in smonth and day <=30 and day >0 or month==2 and day<=29 and day>0:
print("输入的日期为%d年的第%d天" % (year, int(rday[month - 1] + day)))
else:
print("您输入的日期有误")
else:
if month>12 or month<1:
print("您输入的月份有误")
else:
if month in bmonth and day <=31 and day >0 or month in smonth and day <=30 and day >0 or month==2 and day<=28 and day>0:
print("输入的日期为%d年的第%d天" % (year, int(pday[month - 1] + day)))
else:
print("您输入的日期有误")
year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
day=int(input("请输入日期:"))
bmonth=(1,3,5,7,8,10,12)
smonth=(4,6,9,11)
pday=(0,31,59,90,120,151,181,212,243,273,304,334)
rday=(0,31,60,91,121,152,182,213,244,274,305,335)
if year<0:
print("您输入的年份有误")
elif year>=0 and year%400==0 or year % 100 != 0 and year % 4 == 0:
if month>12 or month<1:
print("您输入的月份有误")
else:
if month in bmonth and day <=31 and day >0 or month in smonth and day <=30 and day >0 or month==2 and day<=29 and day>0:
print("输入的日期为%d年的第%d天" % (year, int(rday[month - 1] + day)))
else:
print("您输入的日期有误")
else:
if month>12 or month<1:
print("您输入的月份有误")
else:
if month in bmonth and day <=31 and day >0 or month in smonth and day <=30 and day >0 or month==2 and day<=28 and day>0:
print("输入的日期为%d年的第%d天" % (year, int(pday[month - 1] + day)))
else:
print("您输入的日期有误")
