Не выбрасывается исключение IndexError

Нет вывода по IndexError:

coffee = ["Café Latte", "Caffe Americano", "Espresso", "Cappuccino", "Macchiato"]
choice = int(input())
try:
    for i in range(len(coffee)):
        if i == choice:
            print(coffee[i])    
except IndexError:
    print('invalid number')
finally:
    print('Have a good day')

Ответы (1 шт):

Автор решения: vlashu

В вашем коде блок except не будет вызван, т.к. Вы сначала получаете длину списка, а потом сравниваете со значением. Для получения сообщения Вам нужно получить ошибку:

coffee = ["Café Latte", "Caffe Americano", "Espresso", "Cappuccino", "Macchiato"]
choice = int(input())

try:
    print(coffee[choice])    
except IndexError:
    print('invalid number')
finally:
    print('Have a good day')
→ Ссылка