zl程序教程

您现在的位置是:首页 >  其它

当前栏目

【蓝桥杯每日一练】:闰年判断

判断 蓝桥 每日 闰年
2023-09-14 09:14:35 时间

题目

给定一个年份,判断这一年是不是闰年。

输入格式
输入包含一个整数y,表示当前的年份。
输出格式
输出一行,如果给定的年份是闰年,则输出yes,否则输出no。

说明: 当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。
样例输入:
2022
样例输出
no
样例输入
2016
样例输出
yes
数据规模与约定
1990 <= y <= 2050。

解析

判断闰年为很经典的例题,我提出两种方法去计算:

  1. 如果这一年的三月前一天只有29天则为闰年,否则不是非闰年
  2. 通过最经典的方法去计算:能被 4 整除的大多是闰年,但能被 100 整除 而不能被 400 整除的年份不是闰年,如 1900 年是平年,2000 年是闰年。

python代码

解法一

import datetime  

year = int(input())  #输入

time_delta = datetime.timedelta(days=1)  # 存储时间的变化量

dt = datetime.date(year=year, month=3, day=1)  # 指定输入年份的31号

res = dt - time_delta  # 让dt存储的日期往前走一天


if res.day == 29:  # 如果那年的2月分又29天为闰年
    print('yes')
else:
    print('no')

运行:
在这里插入图片描述
在这里插入图片描述

解法二

years = int(input("请输入查询的年份: "))
if years % 4 == 0 and years % 100 != 0:
    print("Yes")
else:
    print("No")

运行:
在这里插入图片描述
在这里插入图片描述