输入一个日期,判断这个日期是否存在。 ​ 1,3,5,7,8,10,121,3,5,7,8,10,12 月有 3131 天; ​ 4,6,9,114,6,9,11 月有 3030 天; ​ 非闰年的 22 月有 2828 天; ​ 闰年的 22 月有 2929 天; ​ 非整百年,能被 44 整除的为闰年,整百年,能被400整除的是闰年。 输入 ​ 输入三个整数 y,m,d�,�,� 分别表示年月日 (−10≤y,m,d≤3000)(−10≤�,�,�≤3000)。 输出 ​ 如果日期存在输出 YES��� 否则输出 NO��。

时间: 2023-09-13 18:08:46 浏览: 80
好的,根据您的要求,我可以编写如下代码来判断输入的日期是否存在: ```python def is_leap_year(year): # 判断是否是闰年 if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): return True else: return False def is_valid_date(y, m, d): # 判断日期是否存在 if m in (1, 3, 5, 7, 8, 10, 12): if d <= 31: return True elif m in (4, 6, 9, 11): if d <= 30: return True elif m == 2: if is_leap_year(y): if d <= 29: return True else: if d <= 28: return True return False # 示例输入:2021年3月31日 y, m, d = 2021, 3, 31 if is_valid_date(y, m, d): print("YES") else: print("NO") ``` 这段代码中,我们先定义了一个 `is_leap_year` 函数来判断是否是闰年,然后定义了一个 `is_valid_date` 函数来判断输入的日期是否存在。在 `is_valid_date` 函数中,我们首先判断月份是否在 `1,3,5,7,8,10,12` 中,如果是,则天数必须小于等于 31;如果月份在 `4,6,9,11` 中,则天数必须小于等于 30;如果月份为 2,则需要根据是否是闰年来判断天数是否小于等于 29 或 28。如果日期存在,则返回 `True`,否则返回 `False`。 最后,我们根据示例输入调用 `is_valid_date` 函数,如果返回 `True`,则输出 "YES",否则输出 "NO"。

相关推荐

最新推荐

recommend-type

C#实现输入10个数存入到数组中并求max和min及平均数的方法示例

主要介绍了C#实现输入10个数存入到数组中并求max和min及平均数的方法,涉及C#简单数据转换与数值运算相关操作技巧,需要的朋友可以参考下
recommend-type

JS判断一个数是否是水仙花数

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。 例如:1^3 + 5^3+ 3^3 = 153 //判断一个数是否数水仙花数 var num=prompt&#40;'请输入一个数字'&#41;; //得到位数可以计算幂数 ...
recommend-type

java实验:编写一个java应用程序,用户从键盘输入一个1-99999的数,程序将判断这个数是几位数,并判断这个数是.pdf

java实验:编写一个java应用程序,用户从键盘输入一个1-99999的数,程序将判断这个数是几位数,并判断这个数是
recommend-type

python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。

1.python是一种面向_对象 __的高级语言。 2.python可以在多种平台运行,这体现了python的___可移植___特性。 3.python源代码被解释器转换后的格式为___.pyc______。 4.python3.x默认使用的编码是_UTF-8________。 5....
recommend-type

PTA-条件与循环-求所有由1、2、3、4这4个数字组成的素数

求所有由1、2、3、4这4个数字组成的素数 题目: 编写程序prime.py,输出所有由1、2、3、4这4个数字组成的素数,并且在每个素数中每个数字只使用一次。 输入输出 输入格式: 包含4个一位数的元组 输出格式: 按从小到大...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

get() { return this.photoState },

这是一个 JavaScript 中的方法定义,它定义了一个名为 `get` 的方法。这个方法没有参数,它返回了 `this.photoState`。在这个方法中,`this` 是指当前对象,而 `photoState` 是该对象的一个属性。通常情况下,`get` 方法用于获取对象的属性值,并且可以在获取属性值之前进行一些逻辑操作。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。