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

Tec*_*484 4 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")
Run Code Online (Sandbox Code Playgroud)

如果用户未输入Integer,我如何使程序没有错误。

请帮助,有一个14岁的孩子会理解的快速解决方案吗?

Sim*_*ser 5

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

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")
Run Code Online (Sandbox Code Playgroud)

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


Rob*_*ner 4

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

  • “检查其类型”——它**始终是一个字符串**(这就是需要 `int` 的原因)。 (3认同)