|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
数据类型判断的代码一直不太明白怎么用,今天写了一下,如下:- print('开始判断年份是否为闰年。' , end = '')
- answer = input('请输入一个年份:')
- s = '请输入一个年份:'
- if not s.isdigit():
- print('数据类型有误,' , end = '')
- answer = input('请输入一个年份:')
- s = '请输入一个年份:'
- year = int(answer)
- while year:
- if (year % 100 != 0 and year % 4 == 0) or (year % 400 ==0):
- print('该年份为闰年。')
- break
- else:
- print('该年份不是闰年。' , end = '')
- answer = input('请重新输入:')
- year = int(answer)
- print('测试结束。')
复制代码
程序运行后,发现出现了这样的问题:
- 开始判断年份是否为闰年。请输入一个年份:er
- 数据类型有误,请输入一个年份:er
- Traceback (most recent call last):
- File "C:\Users\yany\Desktop\闰年未解决.py", line 7, in <module>
- year = int(answer)
- ValueError: invalid literal for int() with base 10: 'er'
复制代码
就是说只能判断一次,让我很费解,求大神解答。
前面没有循环,只能判断一次,而且你一直判断的是s,而不是输入的数answer - print('开始判断年份是否为闰年。' , end = '')
- answer = input('请输入一个年份:')
- s = '请输入一个年份:'
- while not answer.isdigit():
- print('数据类型有误,' , end = '')
- answer = input('请输入一个年份:')
- s = '请输入一个年份:'
- year = int(answer)
- while year:
- if (year % 100 != 0 and year % 4 == 0) or (year % 400 ==0):
- print('该年份为闰年。')
- break
- else:
- print('该年份不是闰年。' , end = '')
- answer = input('请重新输入:')
- year = int(answer)
- print('测试结束。')
-
-
复制代码
|
|