Ошибка KeyError: 18 возникает в Python, когда вы пытаетесь получить доступ к значению по ключу, который отсутствует в словаре. Чтобы исправить эту ошибку, вам нужно проверить, содержит ли словарь нужный вам ключ перед доступом к значению.
Один из способов проверить, что ключ присутствует в словаре, это использовать оператор in. Например:
my_dict = {10: 'значение 10', 20: 'значение 20', 30: 'значение 30'} key = 18 if key in my_dict: value = my_dict[key] print(value) else: print('Ключ не найден')
В этом случае, если ключ 18 присутствует в словаре my_dict, то значение будет выведено. В противном случае будет выведено сообщение "Ключ не найден".
Если вы хотите избежать срабатывания ошибки KeyError вообще, вы можете использовать метод get() для получения значения по ключу из словаря. Метод get() вернет значение, если ключ существует, или заданное значение по умолчанию, если ключ отсутствует. Например:
my_dict = {10: 'значение 10', 20: 'значение 20', 30: 'значение 30'} key = 18 value = my_dict.get(key, 'Ключ не найден') print(value)
В этом случае, если ключ 18 присутствует в словаре my_dict, то соответствующее значение будет выведено. Если ключ отсутствует, будет выведено сообщение "Ключ не найден".
Использование метода get() может быть полезным, когда вы хотите избежать ошибок и задать альтернативное значение для отсутствующих ключей.