|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我写的代码是- print('开始判断年份是否为闰年。' , end = '')
- answer = input('请输入一个年份:')
- year = int(answer)
- if (year % 100 != 0 and year % 4 == 0) or (year % 400 ==0):
- print('该年份为闰年。')
- else:
- while (year % 100 != 0 and year % 4 != 0) or (year % 400 !=0):
- print('该年份不是闰年。' , end = '')
- answer = input('请重新输入:')
- year = int(answer)
- print('测试结束。')
复制代码
现在有个小问题:就是第一次判不是闰年,第二次判断是闰年后,不显示“该年份为闰年。”(结果如下图)这是为什么?
- 开始判断年份是否为闰年。1请输入一个年份:10001
- 该年份不是闰年。请重新输入:10000
- 测试结束。
复制代码
- print('开始判断年份是否为闰年。' , end = '')
- answer = input('请输入一个年份:')
- year = int(answer)
- while True:
- if (year % 100 != 0 and year % 4 == 0) or (year % 400 ==0):
- print('该年份为闰年。')
- break
- else:
- print('该年份不是闰年。' , end = '')
- answer = input('请重新输入:')
- year = int(answer)
- print('测试结束。')
复制代码
你的代码,while:那一句,是在else里面的,当你第二次输入是闰年的时候,不会先判断if语句的内容,而是先判断while的语句是否成立,不成了,继续执行下一条语句print('测试结束')
你的代码还可以改成这样:
- print('开始判断年份是否为闰年。' , end = '')
- answer = input('请输入一个年份:')
- year = int(answer)
- if (year % 100 != 0 and year % 4 == 0) or (year % 400 ==0):
- print('该年份为闰年。')
- else:
- while (year % 100 != 0 and year % 4 != 0) or (year % 400 !=0):
- print('该年份不是闰年。' , end = '')
- answer = input('请重新输入:')
- year = int(answer)
- else:
- print('该年份为闰年。')
- print('测试结束。')
复制代码
|
|