Обработка ошибок с использованием целых чисел в качестве входных данных

python integer

8289 просмотра

2 ответа

Я настроил эту программу, которая проверяет отметку из 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-летние?

Автор: Tech484 Источник Размещён: 12.11.2019 09:44

Ответы (2)


4 плюса

Сохраните входные данные в переменной и конвертируйте в целое число отдельно:

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

Автор: Simeon Visser Размещён: 11.07.2012 12:46

4 плюса

try:
   mark = int(input("Please enter the exam mark out of 100 "))
except ValueError:
   print("\nPlease only use integers")
Автор: Rob Wagner Размещён: 11.07.2012 12:44
Вопросы из категории :
32x32