蓝天sky 发表于 2017-10-19 22:48:18

求教

nian = input('请输入一个年份')
year = int(nian)
while year!=0:
        if (year%4)==0 and (year%100)!=0 or (year%400)==0:
                print('你输入的'+nian+'是闰年')
        else:
                print('你输入的'+nian+'不是一个闰年')
这个为什么会成为一个死循环呢?

丶忘却的年少o 发表于 2017-10-19 22:51:13

因为你输入的不是0呀,不是0就一直循环下去了,去掉while语句看看

BngThea 发表于 2017-10-20 11:17:17

循环体中根本没有修改year的值,所以判断一只为真

蓝天sky 发表于 2017-10-20 11:44:07

丶忘却的年少o 发表于 2017-10-19 22:51
因为你输入的不是0呀,不是0就一直循环下去了,去掉while语句看看

我将条件改为while == 0: 代码就直接跳过循环了

蓝天sky 发表于 2017-10-20 11:44:52

BngThea 发表于 2017-10-20 11:17
循环体中根本没有修改year的值,所以判断一只为真

那这个怎么改呢?没想出来怎么调整

蓝天sky 发表于 2017-10-20 11:52:51

丶忘却的年少o 发表于 2017-10-19 22:51
因为你输入的不是0呀,不是0就一直循环下去了,去掉while语句看看

去掉while语句就正常了

丶忘却的年少o 发表于 2017-10-20 11:57:57

蓝天sky 发表于 2017-10-20 11:52
去掉while语句就正常了

你没搞清楚要干嘛,是不是只要输入一个年份,判断是不是闰年,然后输出结果是不是。那干嘛加while?循环的意义在哪里?
如果说你要多次输入年份判断,那也行,就是while语句提到输入年份语句前,如果输入的年份是0,就退出循环。这样你就可以一直输入年份判断了,直到你输入0退出程序
麻烦点下“最佳答案”{:10_330:}

不自律的笨鸟 发表于 2021-5-15 07:27:47

看来还有很多东西要学习啊!
页: [1]
查看完整版本: 求教