编写函数,形式参数为代表年月日的三个整数,函数的功能为返回该日期是否为合法日期。主函数中输入一个日期的年月日三个整数,若为合法日期,输出YES,否则输出NO
时间: 2024-10-27 20:14:12 浏览: 25
编写一个函数来验证日期的合法性通常需要考虑一些规则,比如月份范围(1-12)、日期是否超出了当月的天数(闰年和平年的区别)。下面是一个简单的Python示例,这个函数假设它接受的是格里高利历(公历)下的日期:
```python
def is_valid_date(year, month, day):
# 检查月份和日期是否在合理范围内
if not (1 <= month <= 12) or not (1 <= day <= 31):
return "NO"
# 判断闰年和平年的2月天数
if month == 2:
if year % 4 != 0:
return "NO" if day > 28 else "YES"
elif year % 100 != 0:
return "YES"
elif year % 400 != 0:
return "NO" if day > 29 else "YES"
else:
return "YES"
# 其他非二月的情况,直接检查最大天数
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
return "NO" if day > days_in_month[month - 1] else "YES"
# 主函数测试
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
result = is_valid_date(year, month, day)
print(result)
```
阅读全文