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

举报
川川菜鸟 发表于 2022/04/15 01:07:31 2022/04/15
【摘要】 文章目录 题目解析python代码解法一解法二 题目 给定一个年份,判断这一年是不是闰年。 输入格式 输入包含一个整数y,表示当前的年份。 输出格式 输出一行,如果给定的年份是...

题目

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

输入格式
输入包含一个整数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')


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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

解法二

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

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

文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。

原文链接:chuanchuan.blog.csdn.net/article/details/122556044

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。