Error handling using integers as input

前端 未结 2 488
星月不相逢
星月不相逢 2020-12-02 02:10

Ive set up this program that checks the mark out of 100 for a test. If the user inputs less than 60 it should say fail if more than 59, pass.

mark = int(inp         


        
2条回答
  •  星月不相逢
    2020-12-02 03:04

    Save the input in a variable and convert to an integer separately:

    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")
    

    If it fails (i.e., you get a ValueError) then print a message and exit. You can explain (to a 14-year old) that int() needs a valid integer as input and it will raise a ValueError otherwise. That makes sense because only strings that contain an integer can be converted by int().

提交回复
热议问题