鱼C论坛

 找回密码
 立即注册
查看: 2306|回复: 4

[已解决]求助0基础学python第五讲

[复制链接]
发表于 2020-2-18 11:52:22 | 显示全部楼层 |阅读模式

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

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

x
下面这个代码是小甲鱼课后动动手1的,我想问一下第二行while not temp.isdigit(),whilie not的意思是当后面的语句判断为false时就进入循环是吗,还是有什么更好记忆的意思?

还有第6行 if year/400==int(year/400)是什么意思啊,为什么不能写if year/400==int(),怎么更好的理解这一句呢?





  1. temp = input('请输入一个年份:')
  2. while not temp.isdigit():
  3.     temp = input("抱歉,您的输入有误,请输入一个整数:")

  4. year = int(temp)
  5. if year/400 == int(year/400):
  6.     print(temp + ' 是闰年!')
  7. else:
  8.     if (year/4 == int(year/4)) and (year/100 != int(year/100)):
  9.         print(temp + ' 是闰年!')
  10.     else:
  11.         print(temp + ' 不是闰年!')
复制代码
最佳答案
2020-2-18 11:56:32
1. whilie not 的是当后面的条件为 False 时就执行循环体。

2. 在 Python 中所有除法运算的结果都是浮点数。这句话的意思是当 year / 400 的结果是代表整数的浮点数(比如 4.0、5.0)就执行以下语句。

    不能写成 if year/400==int(),int() 代表 0,整条语句就变成了 if year/400 == 0,显然是不符合需求的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 11:56:00 | 显示全部楼层
if year/400==int(year/400) 相当于  if year % 400 == 0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-18 11:56:32 | 显示全部楼层    本楼为最佳答案   
1. whilie not 的是当后面的条件为 False 时就执行循环体。

2. 在 Python 中所有除法运算的结果都是浮点数。这句话的意思是当 year / 400 的结果是代表整数的浮点数(比如 4.0、5.0)就执行以下语句。

    不能写成 if year/400==int(),int() 代表 0,整条语句就变成了 if year/400 == 0,显然是不符合需求的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-18 11:57:32 | 显示全部楼层
如果year能被400整除,那么year/400肯定是整型,year/400就和int(year/400)一样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-19 10:09:07 | 显示全部楼层
zltzlt 发表于 2020-2-18 11:56
1. whilie not 的是当后面的条件为 False 时就执行循环体。

2. 在 Python 中所有除法运算的结果都是浮点 ...

ok谢谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-2 21:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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