使用整数作为输入进行处理的错误
问题描述:
我已经设置了该程序,该程序检查标记为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岁的孩子能理解吗?
答
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()
转换。
你使用Python 3.x吗? – Levon 2012-07-11 12:44:01
如果您使用的是Python 2,请使用'raw_input'而不是'input'。然后按照下面的答案之一。 – kojiro 2012-07-11 12:46:36
'如果用户输入少于60个,它应该说失败,如果超过59,传球。那么通过得分是多少? 59.5? :) – 2012-07-11 12:47:16