鱼C论坛

 找回密码
 立即注册
查看: 4505|回复: 14

[吹水] 浅谈判断闰年程序

[复制链接]
发表于 2021-8-2 19:55:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 柿子饼同学 于 2021-8-2 20:54 编辑
浅谈判断闰年程序

【基本解释】闰年是一类特殊的年份 .  是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的补上时间差的年份为闰年 .

                    闰年共有 366 天 .

【年份规律】四年一闰 : 如果公元A年的A(正数)能被4整除,那么它就是闰年 .

                    公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年).

【程序目标】输入一个年份 , 判断是否是闰年 .

【基本思路】我们输入一个年份 , 然后让程序按照如上规则进行判断 , 最后就可以得出结论 .

【抄起家伙】首先 , 我们需要输入一个年份 , 所以程序要先接收年份 . 接收的话 , 我们使用input()函数 .

  1. year = input('请输入一个年份:')
复制代码
                    接着 , 为了防止用户捣乱 , 我们还应判断一下它输入的到底是不是一个年份 .

                    input()返回一个字符串 , 我们只需要知道字符串中是不是全是数字就好啦 , 由此 , 我们想到了isdigit()方法 .

  1. if not year.isdigit():
  2.     print('请输入一个年份!')
复制代码
                   但是 , 这样有一个不好的地方 , 就是一旦输入错 , 程序就会退出 , 想再判断就要重新打开程序 , 浪费时间 .                    所以 , 我们使用一个循环 , 只要它不输入年份 , 我们就跟他耗 , 让它重新输入 . 直到输入符合要求时 , 再进行判断 .
  1. while not year.isdigit():

  2.     year = input("抱歉,您的输入有误,请输入一个整数:")
复制代码
                  判断过后 , 我们还需要把输入的字符串变成整数 . 这样才可以进行判断 .
  1. year = int(year)
复制代码
                 好了, 现在就开始判断这个数是不是闰年年份就可以 .                  我们先判断能不能被400整除 .
                 因为如果这个数能被400整除 , 那么它直接就是闰年 , 不需要后面的判断 , 直接出结果 .
                 这样既节省了时间 , 电脑又不用做无用功 .
                 不要轻视细节 , 努力做到最好~
  1. if year % 400 == 0:
  2. print(year, "是闰年!")
复制代码
                然后接下来按照条件写就好了
  1. else:
  2.     if year % 4 == 0 and year % 100 != 0:
  3.         print(year, "是闰年!")
  4.     else:
  5.         print(year, "不是闰年!")

复制代码

【完整代码】
  1. year = input('请输入一个年份:')

  2. while not year.isdigit():
  3.     year = input("抱歉,您的输入有误,请输入一个整数:")

  4. year = int(year)
  5. if year % 400 == 0:
  6.     print(year, "是闰年!")
  7. else:
  8.     if year % 4 == 0 and year % 100 != 0:
  9.         print(year, "是闰年!")
  10.     else:
  11.         print(year, "不是闰年!")

复制代码

            完  (*^_^*)

               


欢迎订阅我的淘专辑"浅谈系列"


评分

参与人数 5荣誉 +21 鱼币 +21 贡献 +6 收起 理由
yayc_zcyd + 1 + 1 有长进了~
糖甜弯了嘴 + 5 + 5 + 3 感谢楼主无私奉献!
小伤口 + 5 + 5 感谢楼主无私奉献!
青出于蓝 + 5 + 5 支持~
逃兵 + 5 + 5 + 3 无条件支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 21:14:39 | 显示全部楼层

回帖奖励 +2 鱼币

无条件支持楼主!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-2 21:28:03 | 显示全部楼层

回帖奖励 +2 鱼币

鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 22:48:21 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 06:19:17 | 显示全部楼层

回帖奖励 +2 鱼币

33
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 07:51:25 | 显示全部楼层

回帖奖励 +2 鱼币

支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 08:05:11 | 显示全部楼层

回帖奖励 +2 鱼币

鱼C,有你更精彩!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-3 09:43:56 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 11:27:28 | 显示全部楼层

回帖奖励 +2 鱼币

牛逼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 11:50:26 | 显示全部楼层

回帖奖励 +2 鱼币

支持,加油。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-3 14:02:47 | 显示全部楼层

回帖奖励 +2 鱼币

2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 18:15:41 From FishC Mobile | 显示全部楼层
可以啊,学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-3 18:36:11 | 显示全部楼层
牛逼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-25 12:33:38 | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-31 12:52:33 | 显示全部楼层
改进
  1. while True:  #可以一直判定
  2.     temp = input('请输入一个年份:')
  3.     while not temp.isdigit():
  4.         temp = input("抱歉,您的输入有误,请输入一个整数:")

  5.     year = int(temp)
  6.     if int(year % 400) == 0:
  7.         print(temp + ' 是闰年!')
  8.     else:
  9.         if year % 4 == 0 and year % 100 != 0:
  10.             print(temp + ' 是闰年!')
  11.         else:
  12.             print(temp + ' 不是闰年!')

  13. input()  #(本人懒,怎么简单怎么来)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
柿子饼同学 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 21:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表