python计算闰年
这里说明一下:看到网上很多写python计算闰年的,有很多是不同。
有份省级期刊万年历计算公元1-10000年的闰年
算法如下:4000年停闰一次。区别其他算法,有些是3200年停闰一次。
def division(dividend, divisor) -> bool:""":param dividend: 被除数:param divisor: 除数:return: bool"""if not isinstance(dividend, int):raise NotIntegerError(f"被除数不是整数,dividend:{dividend}")if not isinstance(divisor, int):raise NotIntegerError(f"除数不是整数,divisor:{divisor}")if divisor == 0:raise DivisorZeroError(f"除数不能为0,divisor:{divisor}")return dividend % divisor == 0def is_leap_year(year):"""功能:计算是否为闰年:return:"""leap = Falseif division(year, 4000):return Falseelif division(year,400):return Trueelif division(year,4) and not division(year,100):return Trueelse:return False
之前看到问答上回答是也是思路正确的:
- 我只是说根据现在的规则是没法判断一个大于3200年以上的年份是否是闰年。
- 为什么呢,地球围绕太阳的公转周期大概是365天5时48分46秒,写成小数形式是365.2422天。
- 写成小数点是因为人类闰是闰一天,所以单位统一比较好算,就不用小时分秒了。
- 所有闰法都是为了使日历的周期和绕太阳公转的周期对应得上,误差不超过一天(不超过闰一天的校正范围。)在没有闰四年的规则下,每年会有0.2422天的误差,累积五年就超过1,所以会四年闰一次。
- 但是1-0.2422*4=0.0312,这种闰法校正过头,又会引入新的误差,每4年累积0.0312天。
- 大概累积1/0.0312*4=128.205128205年后又会达到最大校正范围。但是128这个数字显然不好记,所以就取100,每100年停闰一次就能缩小误差。
- 但是新误差又来了,停闰一年缩小误差同时,又引入新误差,这个误差是1-100/4*0.0312=0.22。也- 就是说每100年会累积0.22天。累积500年误差就会>1,所以400年的时候不能停闰了,必须重新闰起来。
- 解决了每百年累积的误差,400年重闰又带来新误差,这个误差是1-0.224=0.12。按照这个算法那么当1/0.12400=3333.333333333年这个误差就会达到1。所以我们又必须停闰,3200年必须停闰。故3200年是平年,但是按照现在的规则3200年是闰年。
本质是回归年的问题:
- 一种就是按照4000年停闰
- 一种是按照3200年停闰
本质都在弥补误差。
实际是更精确的是:
格里历(现行公历)的历年平均长度为365.2425日,接近平均回归年的365.242199074日,即约每3300年误差一日,也更接近春分点回归年的365.24237日。
相关文章:
python计算闰年
这里说明一下:看到网上很多写python计算闰年的,有很多是不同。 有份省级期刊万年历计算公元1-10000年的闰年 算法如下:4000年停闰一次。区别其他算法,有些是3200年停闰一次。 def division(dividend, divisor) -> bool:"…...
聊聊如何使用Js写一个简单的二级联动和三级联动呢?
前言:咳咳哈,大佬说:"这不是有手就行了?"好吧,这里不做过多罗里吧嗦,真的不过多吹,我们在下面直接上代码上注释。 文章目录: 原Js二级联动实现原Js三级联动实现 一、二级…...
IPv4 和 IPv6 的特点、区别以及在互联网中的应用
在当今互联网时代,IP 地址是连接和通信的基础。IPv4(Internet Protocol version 4)和 IPv6(Internet Protocol version 6)是两种常见的 IP 地址版本。IPv4 是最早广泛使用的 IP 地址协议,而 IPv6 则是 IPv4…...
JavaScript处理移动web交互
touch对象和touchevent touch事件 touch对象 每一次发生touch事件时就会产生一个touch对象,类似事件处理函数中的事件对象。 <div class" "><button class"child" style"height: 400px; width: 400px">我是按钮</b…...
4年测试经验,一问三不知,过于离谱...
公司今年要招人,面倒是面了很多测试,但没有一个合适的。一开始想要的就是中级的水准,也没指望来大牛,当然来了更好,提供的薪资在10-20k,来面试的人有很多,但平均水准真的是让人失望。 看简历时很多都写着3…...
Java 与查找算法(2)二分查找
一、二分查找 二分查找,也称折半查找,是一种常见的查找算法。它的思想是将有序数组分成两部分,取中间位置的值与目标值进行比较,如果相等则返回该位置,如果目标值小于中间值,则在左半部分继续查找…...
Java程序设计入门教程--原始类与包装类
包装类 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。 为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统…...
pip安装python库速度慢、失败及超时报错解决办法
背景: 随着人工智能的不断兴起,python作为最接近人工智能的语言,变得越来越流行,人生苦短,python要学起来。之所以越来用的人喜欢学习python和研究Python,除了python本身便于学些、语法简短、面向对象等特点…...
向量数据库
向量数据库可以做哪些事情 存储和索引向量检索相似向量,还具有过滤功能自动将文档转变成向量,所以会自动化分词、向量化、索引等操作 目前存在的向量数据库: 名称github开源协议chromahttps://github.com/chroma-core/chromaApache 2.0Mil…...
leetcode 11.盛最多水的容器
题目描述 跳转到leetocde题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明ÿ…...
都说00后已经躺平了,但是有一说一,该卷的还是卷啊。
这不,三月份春招我们公司来了个00后,工作没两年,跳槽到我们公司起薪20K,都快接近我了。 后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家里条件不太好&…...
牛客网刷题学习SQL(二)
SQL22 统计每个学校的答过题的用户的平均答题数 描述 运营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。 用户信息表 user_profile,其中device_id指终端编号(认为每个用户有唯一的一个终端),gender指…...
深蓝学院 C++笔记 先导篇章 - 绪论
一、介绍-老师寄语 为什么选择C? 高性能解决问题 二、C推荐书目 1. 基础 《C Primer》,Stanley B. Lippman 等著,王刚、杨巨峰等译 2. 进阶 《Effective C》,Scott Meyers 著,侯捷译。 《More Effective C》&am…...
R7-19 天梯赛团队总分
“天梯赛”的竞赛题目一共有 15 道,分为 3 个梯级: 基础级设 8 道题,其中 5 分、10 分、15 分、20 分的题各 2 道,满分为 100 分;题目编号相应为L1-X,X取1,2,3,4,5,6,7,8,分别表示基础级的8道题…...
使用 Kotlin 的 Opt-in (选择加入)功能注解API提示当前非稳定API
前言 之前在给公司项目封装库的时候,领导告诉我封装的漂亮一点,等以后公司发展起来了可能需要把这个库提供给第三方接入使用。 此时,就有这么一个问题:某些功能函数使用条件比较苛刻,直接使用可能会出现意想不到的后…...
webpack配置排除打包
webpack配置排除打包 思路 打包时,不要把类似于element-ui第三方的这些包打进来 从网络上,通过url地址直接引入这些包 操作 (1)先找到 vue.config.js, 添加 externals 项,具体如下: config…...
HNU-操作系统OS-ucoreLab系列-感悟
谨以此片篇,献给熬夜的8个晚上,以及逝去的时光。 感悟: 今天结束了所有的Lab实验(2023.6.3),感慨万千。 喜是这个实验终于结束了,悲是其实有好多地方我都没有理解。 应该指出,由于验收的助教学长学姐们的宽容,HNU实际上在验收这一块的要求还是比较低的。 但是这个…...
MySQL运维篇(三)
五.读写分离 5.1 介绍 读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。 通过MyCat即可轻易实现上述功能,不仅可以支持MySQL&#x…...
Lecture 2 Text Preprocessing
目录 Some DefinitionsReasons for PreprocessingPreprocessing StepsSentence Segmentation 句子分割Binary Classifier 二元分类器Word Tokenization: English 英文词元标记化Word Tokenization: Chinese 中文词元标记化Word Tokenization: German 德语词元标记化Subword Tok…...
web练习第二周
前言:(博主个人学习笔记,不用看)web练习第二周,仅做出前3题。相比于第一周,难度大幅增加,写题时就算看了wp还是像个无头苍蝇一样到处乱创,大多都是陌生知识点,工具的使用…...
【AI Daily】Arxiv论文研读Top5 | 2026-05-23
📚 每日学习汇总 | 2026-05-23(周6) 📊 今日概览 今日:周6,午读检索分类:cs.AI / q-bio.NC / cs.HC关键词:cognitive science behavioral AI alignment🔥 五篇精读速报 ①…...
索尼360 Reality Audio发展受阻,苹果携手杜比让空间音频成主流
索尼的行动与失察索尼在市场创新方面思路正确,利用个人音频业务融入技术,争取平台采用,吸引音乐家录制专辑,授权音频制造商。但没料到自己不会成为沉浸式音频未来的关键参与者,失误只因不是苹果。空间音频如何定义2010…...
java+vue+SpringBootjava+vue+SpringBoot中小型制造企业质量管理系统(程序+数据库+报告+部署教程+答辩指导)(程序+数据库+报告+部署教程+答辩指导)
源代码数据库LW文档(1万字以上)开题报告答辩稿ppt部署教程代码讲解代码时间修改工具 技术实现 开发语言:后端:Java 前端:vue框架:springboot数据库:mysql 开发工具 JDK版本:JDK1.8 数…...
STM32新手必看:用CubeMX图形化配置PLL时钟,5分钟搞定72MHz系统时钟
STM32CubeMX图形化配置PLL时钟实战指南 对于刚接触STM32开发的工程师来说,时钟树配置往往是最令人头疼的环节之一。传统的手动寄存器配置方式需要查阅大量参考手册,理解复杂的时钟路径和分频系数关系。而STM32CubeMX这款图形化工具的出现,彻底…...
当Windows 11变得臃肿时:如何用开源工具Win11Debloat重获系统控制权
当Windows 11变得臃肿时:如何用开源工具Win11Debloat重获系统控制权 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to dec…...
Insomnia终极指南:构建高效API测试与协作的完整工作流
Insomnia终极指南:构建高效API测试与协作的完整工作流 【免费下载链接】insomnia The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage. 项目地址: https://gitcode.com/gh_mirrors/in/…...
嘎嘎降AI和率零深度对比:2026年同为低价工具效果差距完整评测报告
嘎嘎降AI和率零深度对比:2026年同为低价工具效果差距完整评测报告 选工具之前做了一周功课,试用了三款,最后定了嘎嘎降AI(www.aigcleaner.com)。 4.8元,知网AI率从61%降到了5.3%,达标率99.26%…...
Topit:终极免费macOS窗口置顶工具,让工作效率飙升300%
Topit:终极免费macOS窗口置顶工具,让工作效率飙升300% 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常在macOS上同时处理多个…...
FFXIV国际服汉化终极指南:三步实现中文界面完美体验
FFXIV国际服汉化终极指南:三步实现中文界面完美体验 【免费下载链接】FFXIVChnTextPatch 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIVChnTextPatch 还在为《最终幻想XIV》国际服的英文界面而烦恼吗?想要享受国际服丰富内容却苦于语言障碍…...
TikTok客户端关键字符串追踪与ttencrypt协议解析
1. 这不是“破解”,而是协议层的工程化还原很多人看到“TikTok算法逆向”第一反应是:这得用IDA Pro硬啃SO文件、在ARM汇编里找特征码、对着混淆后的Java层反复脱壳——其实大错特错。我过去三年深度参与过5个主流短视频App的客户端通信分析项目ÿ…...
