python输出两千到三千年的所有闰年 python计算2000年到3000所有闰年

您所在的位置:网站首页 python输出所有闰年 python输出两千到三千年的所有闰年 python计算2000年到3000所有闰年

python输出两千到三千年的所有闰年 python计算2000年到3000所有闰年

2024-06-02 03:27| 来源: 网络整理| 查看: 265

目录写在前面什么是闰年判断闰年的Matlab函数判断闰年的Python函数参考

写在前面

在处理自然科学数据时,经常需要判断一个年份(这里说的年份都是公历)是否为闰年,本文首先简单介绍闰年的判断方法,然后提供了判断闰年的Matlab/Python函数。

什么是闰年

因为一回归年(平太阳连续两次通过春分点的时间间隔)并不正好是365天,因此产生了平年和闰年。判断公历闰年的方法如下:

闰年计算方法 (按一回归年365天5小时48分45.5秒) 1.普通年份能被4整除,且不能被100整除的,是闰年。(如2004年就是闰年) 2.世纪年份能被400整除的是闰年。(如2000年是闰年,1900年不是闰年) 3.对于数值很大的年份,这年如果能被3200整除,并且还能被172800整除的才是闰年。如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)。(此按一回归年365天5h48’45.5’'计算)

链接: 闰年-百度百科.

判断闰年方法如下图所示:

python输出两千到三千年的所有闰年 python计算2000年到3000所有闰年_python输出两千到三千年的所有闰年

因为我们在处理自然科学的数据时,遇到的一般都是正常的年份,因此暂且不考虑大数年,此时判断闰年的Matlab代码如下:

% Judge leap year year = 2100; if (mod(year,4) == 0) && mod(year,100)~=0) || (rem(year,400) == 0 disp([num2str(year),'是闰年']); else disp([num2str(year),'不是闰年']); end

mod(x,y)和rem(x,y)都是取余运算,当x和y的正负号一样的时候,两个函数结果是相同的。

判断闰年的Matlab函数

将判断方法封装进一个函数,需要判断时直接调用即可。

Tips将此代码另存为isleapyear.m放在当前脚本的同级目录下,直接使用isleapyear(year)即可判断year是否是闰年,闰年返回1,非闰年返回0,结合if使用更方便。% whether a year is a leap year function lyear = isleapyear(ye) if (mod(ye,4) == 0) && mod(ye,100)~=0) || (mod(ye,400) == 0 lyear=1; else lyear=0; end end判断闰年的Python函数

类似的也可以写出判断闰年的Python函数,只是语法不同。

# whether a year is a leap year def isleapyear(ye): if (ye % 4 == 0 and ye % 100 !=0) or ye % 400 == 0: lyear = 1 else: lyear = 0 return lyear # test this function if isleapyear(2021): print('是闰年') else: print('不是闰年')参考

链接: 闰年-百度百科. [1]:https://baike.baidu.com/item/闰年/27098



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3