鱼C论坛

 找回密码
 立即注册
查看: 2363|回复: 6

请问下,关于005讲课后题闰年计算器。

[复制链接]
发表于 2016-10-5 18:55:24 | 显示全部楼层 |阅读模式

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

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

x
问题1,isdigit判断的是变量是否为数字还是是否为整型?
问题2,为什么我使用isinstance来判断年份除以400是否为int不可行。。。

微信截图_20161005185452.png

  1. while "cycle":
  2.     temp = input("请输入一个年份:")
  3.     while not temp.isdigit():
  4.         temp = input("抱歉,您的输入有误,请输入一个整数年份:")
  5.         
  6.     year = int(temp)
  7.     a = year / 4
  8.     b = year / 100
  9.     c = year / 400
  10.     if isinstance(c,int):
  11.         print(temp +'是闰年!')
  12.     else:
  13.         if isinstance(a,int) and not isinstance(b,int):
  14.             print(temp +'是闰年!')
  15.         else:
  16.             print(temp +'是平年!')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-5 19:05:42 | 显示全部楼层
本帖最后由 kox 于 2016-10-5 19:06 编辑

1:isdigit() 是字符串方法,如果字符串中全是数字 则返回True,否则返回Flase,字符串中必须全部是数字 才能转化为int

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
bowen628 + 1 + 1 + 1 谢谢谢谢~!

查看全部评分

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

使用道具 举报

发表于 2016-10-5 19:07:06 | 显示全部楼层
1.整数,更准确的说是仅含有0~9.
2.整数除以整数,不管能否整除,得到的都是浮点数。

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
bowen628 + 1 + 1 + 1 多谢斑竹解惑!!!

查看全部评分

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

使用道具 举报

发表于 2016-10-5 19:18:13 | 显示全部楼层
python3中的 /  运算得到的结果是float类型不是int类型  这里建议用 % 来判断是否能整除
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-5 20:05:47 | 显示全部楼层
冬雪雪冬 发表于 2016-10-5 19:07
1.整数,更准确的说是仅含有0~9.
2.整数除以整数,不管能否整除,得到的都是浮点数。

1.再进一步解释:
-1是整数,但'-1'.isdigit()则是False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-5 20:48:35 | 显示全部楼层
冬雪雪冬 发表于 2016-10-5 20:05
1.再进一步解释:
-1是整数,但'-1'.isdigit()则是False

你这解释的不严谨。
‘-1’这是字符串由‘-’和‘1’两部分组成‘-’不是数字,所以 :‘ -1'.isdigit()返回 False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-6 21:28:36 | 显示全部楼层
茅塞顿开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 02:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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