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

问题描述:

我已经设置了该程序,该程序检查标记为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岁的孩子能理解吗?

+0

你使用Python 3.x吗? – Levon 2012-07-11 12:44:01

+0

如果您使用的是Python 2,请使用'raw_input'而不是'input'。然后按照下面的答案之一。 – kojiro 2012-07-11 12:46:36

+1

'如果用户输入少于60个,它应该说失败,如果超过59,传球。那么通过得分是多少? 59.5? :) – 2012-07-11 12:47:16

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

“检查它的类型” - 它将**总是一个字符串**,(这就是为什么需要'int')。 – mgilson 2012-07-11 13:05:02

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

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()转换。