当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-15
文章目录 ​​题目​​ ​​解析​​ ​​python代码​​ ​​解法一​​ ​​解法二​​ 题目 给定一个年份,判断这一年是不是闰年。 输入格式 输入包含一个整数y,表示当前的年份


文章目录

  • ​​题目​​
  • ​​解析​​
  • ​​python代码​​
  • ​​解法一​​
  • ​​解法二​​

题目

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

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

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

解析

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

  • 如果这一年的三月前一天只有29天则为闰年,否则不是非闰年
  • 通过最经典的方法去计算:能被 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) # 指定输入年份的3月1号

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


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

    运行:
    【蓝桥杯每日一练】:闰年判断_大小写
    【蓝桥杯每日一练】:闰年判断_职场和发展_02

    解法二

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

    运行:
    【蓝桥杯每日一练】:闰年判断_大小写_03
    【蓝桥杯每日一练】:闰年判断_职场和发展_04


    上一篇:pygame.error: video system not initialized
    下一篇:没有了
    网友评论