KeyErrors и как поднять KeyError
для моего домашнего задания мне говорят поднять ключевую ошибку, если ключ (текст), который вводит пользователь, содержит любые не алфавитные символы и перепрофилируется. До сих пор у меня это работает, но, очевидно, не использует ожидаемую try/except structure
key=input("Please enter the key word you want to use: ")
ok=key.isalpha()
while (ok==False):
print("The key you entered is invalid. Please try again")
key=input("Please enter the key word you want to use")
1 ответов
Это не соответствующее использование KeyError
(он должен использоваться для поиска dict или подобных ситуаций), но если это то, что вас попросили сделать, попробуйте что-то вроде этого :
def prompt_thing():
s = raw_input("Please enter the key word you want to use: ")
if s == '' or not s.isalnum():
print("The key you entered is invalid. Please try again")
raise KeyError('non-alphanumeric character in input')
return s
s = None
while s is None:
try:
s = prompt_thing()
except KeyError:
pass