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

我设置了这个程序,检查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岁的孩子能理解的快速解决方案吗?

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

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

点赞