鱼C论坛

 找回密码
 立即注册
查看: 1296|回复: 3

[已解决]第6课,python课后习题求助

[复制链接]
发表于 2019-10-6 22:17:23 | 显示全部楼层 |阅读模式

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

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

x
print("________润年识别系统________")
temp = input(" 请输入你要查询的年份 : ")
year = int(temp)
i = year/4
y = year/100
z = year/400
if (isinstance(i,int) and isinstance(y,float)):
    print(year,"是润年")
else:
    if isinstance(z,int):
        print(year,"是润年")
    else:
        print(year,"不是润年")
        
为什么这段代码查询不出来,是isinstance返回的值不能与if相连用吗?
最佳答案
2019-10-7 08:03:31
因为 Python 除法返回的总是浮点数,所以应该这样改:
  1. print("________润年识别系统________")
  2. temp = input(" 请输入你要查询的年份 : ")
  3. year = int(temp)
  4. i = year/4
  5. y = year/100
  6. z = year/400
  7. if i % 1 == 0 and y % 1:
  8.     print(year, "是润年")
  9. else:
  10.     if z % 1 == 0:
  11.         print(year, "是润年")
  12.     else:
  13.         print(year, "不是润年")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-6 22:26:11 | 显示全部楼层
知道了,运用到除法的时候,得数都是浮点类型了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-7 08:03:31 | 显示全部楼层    本楼为最佳答案   
因为 Python 除法返回的总是浮点数,所以应该这样改:
  1. print("________润年识别系统________")
  2. temp = input(" 请输入你要查询的年份 : ")
  3. year = int(temp)
  4. i = year/4
  5. y = year/100
  6. z = year/400
  7. if i % 1 == 0 and y % 1:
  8.     print(year, "是润年")
  9. else:
  10.     if z % 1 == 0:
  11.         print(year, "是润年")
  12.     else:
  13.         print(year, "不是润年")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-7 22:49:03 | 显示全部楼层
zltzlt 发表于 2019-10-7 08:03
因为 Python 除法返回的总是浮点数,所以应该这样改:

谢谢大佬,学习到啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 07:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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