计算明天的 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。 例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1970≤year≤2050
def get_tomorrow(year, month, day):
if month < 1 or month > 12:
print("输入的month范围是[1,12],请重新输入")
return
if day < 1 or day > 31:
print("输入的day范围是[1,31],请重新输入")
return
if year < 1970 or year > 2050:
print("输入的day范围是[1970,2050],请重新输入")
return
find_year = year
find_month = month
find_day = day
# 判断是否是闰年
is_leap_year = (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0)
my_list = [{"month": 1, "day_count": 31}, {"month": 2, "day_count": 29 if is_leap_year else 28},
{"month": 3, "day_count": 31}, {"month": 4, "day_count": 30},
{"month": 5, "day_count": 31}, {"month": 6, "day_count": 30},
{"month": 7, "day_count": 31}, {"month": 8, "day_count": 31},
{"month": 9, "day_count": 30}, {"month": 10, "day_count": 31},
{"month": 11, "day_count": 30}, {"month": 12, "day_count": 31}]
for value in my_list:
if value.get("month") != month:
continue
day_count = int(value.get("day_count"))
if day < 0 or day > day_count:
print(f"输入日期:{year}年{month}月{day}日不合法,请重新输入")
break
elif day == day_count:
find_day = 1
if month == 12:
find_month = 1
find_year = year + 1
else:
find_month = month + 1
else:
find_day = day + 1
print(f"{find_year}年{find_month}月{find_day}日")
a = int(input("请输入year:"))
b = int(input("请输入month:"))
c = int(input("请输入day:"))
get_tomorrow(a, b, c)