Seven007 发表于 2017-4-25 16:29:30

005讲输入年份并判断是否为闰年

自己写的代码为:
years=input("请输入年份:")
y=int(years)
if y%4==0 and y%100!=0:
    print("%s是闰年"%y)
elif y%400==0:
    print("%s是闰年"%y)
else:
    print("%s不是闰年"%y)

甲鱼老师的参考答案为:
temp = input('请输入一个年份:')
while not temp.isdigit():
    temp = input("抱歉,您的输入有误,请输入一个整数:")
year = int(temp)
if year/400 == int(year/400):
    print(temp + ' 是闰年!')
else:
    if (year/4 == int(year/4)) and (year/100 != int(year/100)):
      print(temp + ' 是闰年!')
    else:
      print(temp + ' 不是闰年!')

确认一下,为什么输入100,提示100不是闰年呢~~

Charles未晞 发表于 2017-4-25 16:37:00

公历闰年判定遵循的规律为: 四年一闰,百年不闰,四百年再闰.
公历闰年的简单计算方法(符合以下条件之一的年份即为闰年,反之则是平年)
1.能被4整除而不能被100整除。
2.能被100整除也能被400整除。
所以100不是闰年是正确的

Seven007 发表于 2017-4-25 16:56:14

了解了,所以100,200 像是闰年,但不满足既能被100整除,也能被400 整除,所以不是闰年。谢谢了~

years=input("请输入年份:")
y=int(years)
if y%4==0 and y%100!=0:
#能被3整除而不能被100整除
    print("%s是闰年"%y)
elif y%100==0 and y%400==0:
#既能被100整除,也能被400整除
    print("%s是闰年"%y)
else:
    print("%s不是闰年"%y)
页: [1]
查看完整版本: 005讲输入年份并判断是否为闰年