所谓闰年,一种简化的判断方法即是,能被4整除,如果能被100整除,而无法被400整除,这不是闰年:
所以其一贯的判断逻辑即是:

def isleap(y):if y % 4:return Falseif y % 100 == 0 and y % 400 != 0:return Falsereturn True

判断逻辑较为复杂,稍作思考,我们可得如下的简化判断;

def isleap(n):return True if ((n % 4 == 0) and (n % 100 != 0)) or n % 400 == 0 else False

这一做法的来源在于集合的观点,

真正符合条件的是文氏图中呈现灰色的两个部分(被4整除&&不能被100整除 || 被400整除),取二者的并集即可;

文氏图的绘制代码:

from matplotlib_venn import venn3plt.figure(figsize=(4, 4))
v = venn3([set([1, 2, 3, 4]), set([2, 3 ,4]), set([3, 4])])v.get_label_by_id('100').set_text('4')
v.get_label_by_id('110').set_text('100')
v.get_label_by_id('111').set_text('                     400')v.get_patch_by_id('110').set_color('red')
v.get_patch_by_id('100').set_color('gray')
v.get_patch_by_id('111').set_color('gray')v.get_label_by_id('A').set_text('')
v.get_label_by_id('B').set_text('')
v.get_label_by_id('C').set_text('')plt.show()

关于文氏图的绘制方法请参见 使用 matplotlib 绘制文氏图(venn)

一行代码进行闰年的判断相关推荐

  1. python怎么返回上一行代码_Python实现判断一行代码是否为注释的方法

    目前的编辑器大都可以自动检测某一行代码是否为代码行或注释行,但并不太提供代码行/注释行行数的统计,对于大量代码文件的代码行/注释行统计,就更少见一些.本篇文章试用一段Python脚本来实现这一目标,并 ...

  2. javaScript用函数的方式实现闰年的判断:输入一个年份,判断是否是闰年(分析+代码)

    题目:输入一个年份,判断是否是闰年 分析: (1)闰年的判断条件是能被4整除却不能被100整除的年份.世纪年份能被400整除的是闰年 (2)用一般形式写出判断闰年的程序 (3)将程序改写为函数的方式 ...

  3. C语言闰年的判断方法及代码解析

    第一步我们首先得知道什么是闰年: 能被400整除或能被4整除,并且不能被100整除的是闰年 其余的都不是闰年 然后我们就知道了闰年的判断方法,接着我们就可以根据这个思路进行代码的书写 #include ...

  4. php根据日期判断星座if函数,js 日期计算星座 根据生日的月份和日期,一行代码计算星座的js小函数(转)...

    本文最后更新于2019-07-01,已超过 1年没有更新,如果文章内容.图片或者下载资源失效,请留言反馈,我会及时处理,谢谢! 温馨提示:本文共2388个字,读完预计6分钟. 摘要: 根据生日的月份和 ...

  5. python 一行代码(不包含导包)实现1到10的累加_笔试题汇总,含参考答案(持续更新中。。。)...

    说明:以下大部分都是测试朋友遇到的笔试题. 自问自答,自娱自乐,机会只留给有准备的人 技术术语 笔试或者面试的时候,经常被问一些概念,比如同步.异步.阻塞.非阻塞等等,是不是很懵逼? 性能测试相关 自 ...

  6. [JavaScript]只需一行代码,轻松搞定快捷留言-V2升级版

    前天熬了大半宿发了一篇[一行代码轻松搞定快捷留言功能],同时发布了V1.0beta版的快捷留言功能和源代码,之所以是beta版,就是当时感觉虽然基本功能有了,但是还不够完善,特性也不一定合理,今天不知 ...

  7. 一行代码,搞定浏览器数据库 IndexedDB

    作者 | 星尘starx 来源 | https://juejin.cn/post/6918705632757415950 前言 2021 年,如果你的前端应用,需要在浏览器上保存数据,有三个主流方案可 ...

  8. python画树叶-如何理解python一行代码实现一个爱心字符画?

    前言 python中有个很酷的效果,一行代码实现一个爱心字符,虽说是一行代码,但是理解起来还是比较难的,括号太多,并且使用了python的一些快捷小技巧.比如三元表达式,列表生成式,字符串拼接以及一个 ...

  9. 开源作品ThinkJDBC—一行代码搞定数据库操作

    1 简介 ThinkJD,又名ThinkJDBC,一个简洁而强大的开源JDBC操作库.你可以使用Java像ThinkPHP框架的M方法一样,一行代码搞定数据库操作.ThinkJD会自动管理数据库连接, ...

最新文章

  1. 多面体体积 matlab,matlab计算多面体体积实现代码
  2. 洛谷——P1023 税收与补贴问题
  3. Windows Server AppFabric Caching支持大数据量的配置
  4. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.41%
  5. Python标准库中的uuid
  6. 为什么李开复说科大讯飞不懂语音,99%的语音识别项目要死掉?
  7. TiDB 源码阅读系列文章(九)Hash Join
  8. 如何清理电脑C盘垃圾
  9. 中班机器人歌曲_幼儿园机器人教案音乐
  10. 反激变压器的设计-电子研习社
  11. MySQL查询最大值、最小值所在行
  12. 如何用python爬虫薅羊毛_拼多多现重大BUG被“薅羊毛”,教你如何用Python简单褥羊毛...
  13. soj.1004 I Conduit!
  14. 小米 gps信号测试软件,实时查看,防走丢神器:小米 米兔GPS定位器 防盗跟踪器 使用评测...
  15. 用户运营4大策略体系搭建:增长框架+用户建模+场景化分层+数据运营
  16. java 字节替换_java 替换四个字节的字符 apos;\xF0\x9F\x98\x84\xF0\x9F)的解决方案 - 好库文摘...
  17. 《互联网DSP广告揭秘——精准投放与高效转化之道》导读
  18. P3332 [ZJOI2013]K大数查询【整体二分】或【树套树】
  19. vue3动态路由addRoute
  20. Atmel Studio-SAM单片机开发 ---EXTINT

热门文章

  1. equals()重写之后为什么要重写hashCode()方法
  2. MySQL添加唯一约束和联合唯一约束(建表后添加)
  3. Doris 之Frontend(FE)和Backend(BE)配置
  4. c语言定义int 输出4386,C语言 · 矩阵乘法
  5. linux 空信息,为什么recv()函数收到空消息?
  6. oracle中 initcpa,oracle  11g rman备份
  7. flink表聚合函数(Table aggregate Functions)
  8. 机器学习之监督学习(五)——集成学习(Boosting)
  9. opencv基础--图像模板匹配
  10. 使用C++和LIBSVM实现机器学习+样本分类