Пользовательское исключение - python3 - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь создать пользовательское исключение, используя классы, которые будут обрабатывать пользовательский ввод, который НЕ находится в соответствующем диапазоне значений, которые я хочу, чтобы они вводили (например, процентная отметка должна быть между 0 и 100), однако,Я не знаю, что я делаю не так.Вот мой кодСпасибо

mark = 0

class illegal(Exception):
    pass

while True:
   try:
       Mark = int(input("Enter a mark out of 100 to see if its valid or not: "))
       if Mark < 0 or 100 < Mark:
           raise illegal
           break
      except illegal:
         print("Invalid mark")

print("Valid mark")

1 Ответ

0 голосов
/ 26 апреля 2018

Некоторые исправления, но обратитесь к моим встроенным комментариям:

class IllegalMark(Exception): # use CamelCase and name meaningfully
    pass

while True:
    try:
        mark = int(input("Enter a mark between 0-100 to test validity: "))
        if mark not in range(0, 101):
            raise IllegalMark
            # break # don't need this since you call 'raise'
    except IllegalMark:
        print("Invalid mark")
        break # if you want to end on invalid, otherwise leave out
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...