柿子饼同学 发表于 2021-8-2 19:55:30

浅谈判断闰年程序

本帖最后由 柿子饼同学 于 2021-8-2 20:54 编辑

浅谈判断闰年程序
【基本解释】闰年是一类特殊的年份 .是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的补上时间差的年份为闰年 .
                  闰年共有 366 天 .{:10_277:}
【年份规律】四年一闰 : 如果公元A年的A(正数)能被4整除,那么它就是闰年 . {:10_257:}
                  公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年).
【程序目标】输入一个年份 , 判断是否是闰年 . {:10_265:}
【基本思路】我们输入一个年份 , 然后让程序按照如上规则进行判断 , 最后就可以得出结论 .{:10_257:}
【抄起家伙】首先 , 我们需要输入一个年份 , 所以程序要先接收年份 . 接收的话 , 我们使用input()函数 . {:10_279:}
year = input('请输入一个年份:')                  接着 , 为了防止用户捣乱 , 我们还应判断一下它输入的到底是不是一个年份 .{:10_254:}
                  input()返回一个字符串 , 我们只需要知道字符串中是不是全是数字就好啦 , 由此 , 我们想到了isdigit()方法 .{:10_256:}
if not year.isdigit():
    print('请输入一个年份!')                   但是 , 这样有一个不好的地方 , 就是一旦输入错 , 程序就会退出 , 想再判断就要重新打开程序 , 浪费时间 . {:10_284:}                   所以 , 我们使用一个循环 , 只要它不输入年份 , 我们就跟他耗 , 让它重新输入 . 直到输入符合要求时 , 再进行判断 . {:10_279:}
while not year.isdigit():

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


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

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

year = int(year)
if year % 400 == 0:
    print(year, "是闰年!")
else:
    if year % 4 == 0 and year % 100 != 0:
      print(year, "是闰年!")
    else:
      print(year, "不是闰年!")


            完(*^_^*)
               

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

逃兵 发表于 2021-8-2 21:14:39

无条件支持楼主!

江湖散人 发表于 2021-8-2 21:28:03

鱼币

鸢纸. 发表于 2021-8-2 22:48:21

{:10_257:}

萝卜里 发表于 2021-8-3 06:19:17

33

心驰神往 发表于 2021-8-3 07:51:25

支持

想念的温度 发表于 2021-8-3 08:05:11

鱼C,有你更精彩!

Kayko 发表于 2021-8-3 09:43:56

{:10_254:}

老迈 发表于 2021-8-3 11:27:28

牛逼

XiaoPaiShen 发表于 2021-8-3 11:50:26

支持,加油。

番杰 发表于 2021-8-3 14:02:47

2

小伤口 发表于 2021-8-3 18:15:41

可以啊,学习了

chenmingfan 发表于 2021-8-3 18:36:11

牛逼

夏灯照夜船 发表于 2022-7-25 12:33:38

学到了

w.py 发表于 2022-7-31 12:52:33

改进
while True:#可以一直判定
    temp = input('请输入一个年份:')
    while not temp.isdigit():
      temp = input("抱歉,您的输入有误,请输入一个整数:")

    year = int(temp)
    if int(year % 400) == 0:
      print(temp + ' 是闰年!')
    else:
      if year % 4 == 0 and year % 100 != 0:
            print(temp + ' 是闰年!')
      else:
            print(temp + ' 不是闰年!')

input()#(本人懒,怎么简单怎么来)

{:10_256:}
页: [1]
查看完整版本: 浅谈判断闰年程序