鱼C论坛

 找回密码
 立即注册
查看: 2889|回复: 9

[已解决]判断是不是闰年,while 语句不太懂

[复制链接]
发表于 2019-1-3 16:32:42 | 显示全部楼层 |阅读模式

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

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

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

year = int(temp)
if year/400 == int(year/400):
    print(temp + ' 是闰年!')
else:
    if (year/4 == int(year/4)) and (year/100 != int(year/100)):
        print(temp + ' 是闰年!')
    else:
        print(temp + ' 不是闰年!'


while语句为啥使用"not temp,isdigit()呀?????
最佳答案
2019-1-3 16:36:59
判断输入的是否是整数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-3 16:36:59 | 显示全部楼层    本楼为最佳答案   
判断输入的是否是整数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-3 16:39:30 | 显示全部楼层
冬雪雪冬 发表于 2019-1-3 16:36
判断输入的是否是整数

为啥用not呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-3 16:46:48 | 显示全部楼层
本帖最后由 PaperPlane 于 2019-1-3 16:51 编辑


temp.is digit   temp是整数,not temp.is digit;当temp不是整数的时候 temp = input("抱歉,您的输入有误,请输入一个整数:")   
    digit;数字【编程不需要任何英语是假的】
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-3 16:58:56 | 显示全部楼层
not 表示取反
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-3 17:11:58 | 显示全部楼层

翻译一下:如果不是由整数组成的字符串则进行循环,要求用户再次输入。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-3 17:19:52 | 显示全部楼层
本帖最后由 jackz007 于 2019-1-3 19:05 编辑

        temp.isdigit() 是一个逻辑判断,其结果将是布尔值 True 或 False,前面加 not 是取反的意思,就是说,如果 temp.isdigit() 结果是 False,那么,not temp.isdigit() 的结果就是 True,反之亦反。

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

        这 2 句的意思就是如果键入的不是数字,那就提示错误并继续要求输入,直到键入的确实是数字为止。程序才继续向下执行。

        最早的历法是儒略历,严格按照毎 4 年一润,由于累积误差无法消除,到了1582年10月15日(儒略历的1582年10月4日次日)起改用格里高历,也就是现在采用的历法,格里高历以 400 年为周期,每个周期有97个闰年,而儒略历有100个。

        如何,各位鱼油,判断闰年的条件是不是可以升级了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-3 18:27:22 | 显示全部楼层
有人说的很详细了,围观一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-4 08:13:49 | 显示全部楼层
jackz007 发表于 2019-1-3 17:19
temp.isdigit() 是一个逻辑判断,其结果将是布尔值 True 或 False,前面加 not 是取反的意思,就是 ...

谢谢,说的太详细了
衷心感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-4 11:47:45 | 显示全部楼层
PaperPlane 发表于 2019-1-3 16:46
temp.is digit   temp是整数,not temp.is digit;当temp不是整数的时候 temp = input("抱歉,您的输入 ...

这个回答太棒了,以后最佳答案不可以给太早,发现下面的解答,一个比一个精彩
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-25 15:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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