使用整数作为输入进行错误处理

时间:2012-07-11 12:42:13

标签: python integer

我设置了这个程序,检查100中的标记进行测试。如果用户输入少于60,则应该说失败,如果超过59,则传递。

mark = int(input("Please enter the exam mark out of 100 "))
if mark < 60:
    print("\nFail")
elif mark < 101:
    print("\nPass")
else:
    print("\nThe mark is out of range")

如果用户没有输入整数,如何让程序没有错误。

请帮助,有14岁儿童可以理解的快速解决方案吗?

2 个答案:

答案 0 :(得分:4)

try:
   mark = int(input("Please enter the exam mark out of 100 "))
except ValueError:
   print("\nPlease only use integers")

答案 1 :(得分:4)

将输入保存在变量中并单独转换为整数:

import sys

i = input("Please enter the exam mark out of 100 ")
try:
    mark = int(i)
except ValueError:
    print('\nYou did not enter a valid integer')
    sys.exit(0)
if mark < 60:
    print("\nFail")
elif mark < 101:
    print("\nPass")
else:
    print("\nThe mark is out of range")

如果失败(即,您得到ValueError),则打印一条消息并退出。您可以解释(对于一个14岁的孩子)int()需要一个有效的整数作为输入,否则它将引发ValueError。这是有道理的,因为只有包含整数的字符串才能被int()转换。