请问我这段代码哪有问题,无论我输入什么年份,结果都显示 不是闰年,题目的提示在注释里

请问我这段代码哪有问题,无论我输入什么年份,结果都显示 不是闰年,题目的提示在注释里

http://img1.sycdn.imooc.com//climg/5e59e63d09ca1c6205010585.jpg

#定义变量year,并接收“请输入正确的年份:”
year = input("请输入正确的年份:")
#判断是否是闰年:1、能被4整除,但是不能被100整除的年份 2、能被400整除的年份
if type(int(year)/4) == int and type(int(year)/100) == float or type(int(year)/400) == int:
    print("{0}年是闰年".format(year))
else:
    print("{0}年不是闰年".format(year))


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

为什么要用结果的数据类型来进行判断呢?

能被4整除表示余数为0

不能被100整除表示余数不为0

能被400整除表示余数为0

那判断的时候直接用:if int(year) % 4 == 0 and int(year) % 100 != 0 or int(year) % 400 == 0

这样不就可以正常得出结果了嘛

学习编程,语言只是一个工具、一种载体,最主要的是编程思想

  • TeacherZhe 提问者 #1
    thx for ur reply 我知道要用余数做出这串代码了,但我还是不知道为什么type不行
    2020-03-01 11:24:45
  • Vess_ji 回复 提问者 TeacherZhe #2
    /这个符号在老师的课件中,全称叫浮点数除法,也就是说,type(int(year)/4)无论你的year是什么数字,得到的结果都是float浮点型,不可能存在整型的情况,你可以随便换个数字测试一下就知道了
    2020-03-01 19:34:36
好帮手乔木 2020-03-02 10:19:14

同学你好:

同学可以采纳Vess_ji同学的回答,使用/符号得到的数字类型是浮点型,因此同学无法使用type进行判断。

http://img1.sycdn.imooc.com//climg/5e5c6cd609aa403302520217.jpg

如果我解决了同学的问题,请采纳!学习愉快^_^。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师