根据输入的日期信息,判断并输出相应的判断结果
# -*- coding:utf-8 -*-
# 判断日期是否合法:输入格式:2021-3-9
date = input("日期 = ")
leap = False # 判断是否为闰年
legal = False # 判断是否合法
# 记录 30天和 31天的月份
month1 = {1, 3, 5, 7, 8, 10, 12}
month2 = {4, 6, 9, 11}
# 将输入数据按 ‘-’ 分割
year, month, day = (int(x) for x in tuple(date.split("-")))
# 判断月份是否为闰年
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
leap = True
if month in month1:
if 1 <= day <= 31:
legal = True
elif month in month2:
if 1 <= day <= 30:
legal = True
elif month == 2:
if not leap and 1 <= day <= 28:
legal = True
elif leap and 1 <= day <= 29:
legal = True
print("%d年%d月%d日是%s" % (year, month, day, "合法日期" if legal else "不合法日期"))
参考文档:https://www.icourse163.org/learn/SUDA-1206947804?tid=1450431473&from=study#/learn/content?type=detail&id=1214940631&cid=1219118205