香港专业教育学院建立了这个程序,检查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岁的孩子会理解的快速解决方案吗?
将输入保存在变量中并分别转换为整数:
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()。
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)