为什么添加中间的判断,输出直接出结果(包括错误的),不加中间的判断就可以正常判断后输出
'''
1.用户输入
2.判断输入格式是否正确
2.1长度是否正确
2.2是否全是数字
2.3月份是否正确
2.3.1判断月份区别(30、31)
2.4日期是否正确
2.5判断年份是否是闰年或平年
2.5
3.输出正确输入
'''
date = input('请输入年月日:')
month_ = [1,2,3,4,5,6,7,8,9,10,11,12]
month_31 = [1,3,5,7,8,10,12]
month_30 = [4,6,9,11]
if len(date) != 8:
print('格式不正确,请输入正确的日期')
elif not date.isdigit():
print('格式不正确,请输入正确的日期')
year = date[:4]
if year % 400 == 0:
print('是闰年')
elif (year % 4 == 0) and (year % 100 != 0):
print('是闰年')
else:
print('不是闰年')
month = date[4:6]
if date[4:6] in month_:
print('月份输入正确')
else:
print('月份输入错误')
day = date[6:]
if month in month_30:
if day <= 30:
print('日期正确')
else:
print('日期错误')
elif month in month_31:
if day <= 31:
print('日期正确')
else:
print('日期不正确')
if month == 2 and (year % 400 == 0):
if day <= 29:
print('日期正确')
else:
print('日期输入不正确')
elif month == 2:
if day <= 28:
print('日期正确')
else:
print('日期输入不正确')
else:
print(date)