鱼C论坛

 找回密码
 立即注册
查看: 1601|回复: 5

[已解决]python第5讲课后题求助

[复制链接]
发表于 2020-3-16 12:43:57 | 显示全部楼层 |阅读模式

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

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

x
print("请您输入一个年份:")
temp=input()
answer=int(temp)
a = answer/4
if isinstance(a,int) ==1:
    print("这是闰年")
else:
    print("这不是闰年")

我这个为什么错了呀? 可以运行,但是每次的结果都是:“这不是闰年”
最佳答案
2020-3-16 13:13:46
a = answer/4
if isinstance(a,int) ==1:
这两行有问题。做除法的时候,会自动先把变量转为float(不管能不能整除),然后在进行运算,得到的结果也是float,因此在进行if判断的时候a不可能是int类型。
应该用求余的方法进行判断是否能整除。

此外,你这个判断是否闰年也是错的。
print("请您输入一个年份:")
temp=input()
answer=int(temp)
if answer % 400 == 0 or (answer % 100 != 0 and answer % 4 == 0):
    print("这是闰年")
else:
    print("这不是闰年")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-16 12:46:26 | 显示全部楼层
你这样判断是不对的,应该这样:
temp=int(input("请您输入一个年份:"))
if temp % 400 == 0 or (temp % 100 != 0 and temp % 4 == 0):
    print("YES!")
else:
    print("NO!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-16 13:13:25 | 显示全部楼层
由于 Python 的除法结果总是浮点数,所以要用取余(%)的方法判断:
temp = int(input("请您输入一个年份:"))
if temp % 100 != 0 and temp % 4 == 0 or temp % 400 == 0:
    print("YES!")
else:
    print("NO!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-16 13:13:46 | 显示全部楼层    本楼为最佳答案   
a = answer/4
if isinstance(a,int) ==1:
这两行有问题。做除法的时候,会自动先把变量转为float(不管能不能整除),然后在进行运算,得到的结果也是float,因此在进行if判断的时候a不可能是int类型。
应该用求余的方法进行判断是否能整除。

此外,你这个判断是否闰年也是错的。
print("请您输入一个年份:")
temp=input()
answer=int(temp)
if answer % 400 == 0 or (answer % 100 != 0 and answer % 4 == 0):
    print("这是闰年")
else:
    print("这不是闰年")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-16 13:56:17 | 显示全部楼层
qiuyouzhi 发表于 2020-3-16 12:46
你这样判断是不对的,应该这样:

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

使用道具 举报

 楼主| 发表于 2020-3-16 13:57:46 | 显示全部楼层
zltzlt 发表于 2020-3-16 13:13
由于 Python 的除法结果总是浮点数,所以要用取余(%)的方法判断:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 23:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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