设计并实现一个 NextDate()函数,函数功能为:NextDate()函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。
时间: 2024-03-04 12:48:12 浏览: 241
软件测试NextDate函数测试用例详解名师优质课赛课一等奖市公开课获奖课件.pptx
好的,我可以帮你设计并实现一个 NextDate() 函数,实现输入日期后一天的日期。以下是函数实现的Python代码:
```python
def NextDate(month, day, year):
# 判断月份是否合法
if month < 1 or month > 12:
return "Invalid input"
# 判断日期是否合法
if day < 1 or day > 31:
return "Invalid input"
# 判断年份是否合法
if year < 1812 or year > 2012:
return "Invalid input"
# 判断日期是否在2月份
if month == 2:
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
if day > 29:
return "Invalid input"
else:
if day > 28:
return "Invalid input"
# 判断日期是否在4、6、9、11月份
elif month == 4 or month == 6 or month == 9 or month == 11:
if day > 30:
return "Invalid input"
# 判断日期是否在其他月份
else:
if day > 31:
return "Invalid input"
# 计算下一天的日期
if day < 31:
day += 1
elif month == 2:
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
day = 1
month = 3
else:
day = 1
month = 3
elif month == 4 or month == 6 or month == 9 or month == 11:
day = 1
month += 1
else:
if day == 31:
day = 1
month = 1
year += 1
else:
day = 1
month += 1
# 返回下一天的日期
return str(month) + "/" + str(day) + "/" + str(year)
```
函数中首先判断输入的月份、日期、年份是否合法,如果不合法则直接返回 "Invalid input"。接着根据不同的月份计算下一天的日期,并返回字符串形式的下一天日期。
你可以通过调用 NextDate() 函数并传入月份、日期、年份来得到下一天的日期。例如:
```python
print(NextDate(2, 28, 2021)) # 3/1/2021
print(NextDate(4, 30, 2021)) # 5/1/2021
print(NextDate(12, 31, 2021)) # 1/1/2022
print(NextDate(2, 29, 2020)) # 3/1/2020
print(NextDate(2, 29, 2021)) # Invalid input
```
阅读全文