零基础入门学习Python第005将动动手001闰年
temp = input('请输入一个年份:')year = int(temp)
a = year/4
b = year/100
c = year/400
ifisinstance(c,int):
print(temp+'是闰年')
else:
if isinstance(a,int) and (not isinstance(b,int)):
print(temp+'是闰年')
else:
print(temp+'是平年')
以上程序问题出在哪,所有数字均为平年呢?
除法返回的一定是小数,可以改成地板除:
temp = input('请输入一个年份:')
year = int(temp)
a = year//4
b = year//100
c = year//400
ifisinstance(c,int):
print(temp+'是闰年')
else:
if isinstance(a,int) and (not isinstance(b,int)):
print(temp+'是闰年')
else:
print(temp+'是平年') a = year/4
b = year/100
c = year/400
这三个算出来的结果全是浮点数,isinstance(c,int)判断全是false
这里建议用%取模(取余)来判断,不要用isinstance()
a = year%4
b = year%100
c = year%400
等于0就是能整除,反之,不能
看下方帖子, 就知道错在哪了:
[已解决] 求助课后题:判断给定年份是否为闰年?
https://fishc.com.cn/thread-198636-1-1.html
(出处: 鱼C论坛)
灰晨 发表于 2021-7-12 18:24
a = year/4
b = year/100
c = year/400
谢谢呀 qiuyouzhi 发表于 2021-7-12 16:54
除法返回的一定是小数,可以改成地板除:
谢谢呀 鱼尾纹888 发表于 2021-7-12 20:43
谢谢呀
如果问题已解决,请设置【最佳答案】
页:
[1]