鱼C论坛

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

[已解决]python入门005课后练习

[复制链接]
发表于 2017-12-29 23:03:39 | 显示全部楼层 |阅读模式

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

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

x
temp=input("请输入一个年份:")
while temp.isdigit() == False:
    temp=input("请输入一个年份,如2017 :")
temp=int(temp)
if temp/4 == int(temp/4) and temp/100 > int(temp/100) or temp/400 == int(temp/400):
    print(str(temp)+"年是闰年")
else:
    print(str(temp)+"年不是闰年")

temp/4 == int(temp/4)是什么意思?难道temp/4返回的值不是整型嘛?求解
最佳答案
2017-12-30 09:21:19
python3.+中/表示浮点型除法,//表示整型除法。这意味着你的除数和被除数是什么类型,用/会得到一个浮点型数据,用//会对得到对得到的数进行floor操作,得到一个比这个数小并且最临近的整数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-30 06:58:38 | 显示全部楼层
temp/4得到的值可能是整型,也有可能是浮点数,而int(temp/4)得到的值只会是整型(比如int(2017/4)=504),所以当两者相等时才满足这一条件。
我也刚好做到这一题,还没看答案呢,我的判断条件是temp%4 == 0,根据余数判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-30 09:17:53 From FishC Mobile | 显示全部楼层
temp的确为整型,比方说temp为5,但其/5会得到1,25,是浮点型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-30 09:21:19 | 显示全部楼层    本楼为最佳答案   
python3.+中/表示浮点型除法,//表示整型除法。这意味着你的除数和被除数是什么类型,用/会得到一个浮点型数据,用//会对得到对得到的数进行floor操作,得到一个比这个数小并且最临近的整数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-30 09:21:22 From FishC Mobile | 显示全部楼层
3.x版本的 / 返回的是浮点型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-30 11:55:53 | 显示全部楼层
明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 02:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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