4

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

4

2 回答 2

6

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

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

于 2012-07-11T12:46:10.493 回答
4
try:
   mark = int(input("Please enter the exam mark out of 100 "))
except ValueError:
   print("\nPlease only use integers")
于 2012-07-11T12:44:59.497 回答