Почему исключение IndexError не обрабатывает ошибку при доступе к индексу вне списка?Python

Программы на Python
Ответить
Anonymous
 Почему исключение IndexError не обрабатывает ошибку при доступе к индексу вне списка?

Сообщение Anonymous »

Я изучаю Python, и у меня возникли проблемы с этим фрагментом кода:

Код: Выделить всё

taskList = ["a", "b", "c", "d", "e", "f"]

def main() :
while True :
try :
indx = int(input("Enter the task index : "))
if (indx - 1)  0 :
process(indx)
except IndexError :
print("Out of range")
except :
print("Input must be a number")
else :
return

def process(indx) :
while True :
print(f"{indx}. {taskList[indx - 1]}")
usrinput = input("Confirm : [Y/n]")
if usrinput == "Y" or usrinput == "y" :
taskList.pop(indx - 1)
print(f"Delete successfull")
return
elif usrinput == "N" or usrinput == "n" :
print("Canceling...")
return
else : print("the answer should be just y or n")

main()
Я упростил его, чтобы упростить отладку без изменения основной логики (извините, я все еще учусь), но всякий раз, когда я обращаюсь к индексу вне списка, программа не печатает («Вне диапазона») и просто ничего не отображает. хотя я уже сделал исключение IndexError, может ли кто-нибудь мне помочь? я не знал, почему мой мозг не может с этим работать
(Я не хочу слишком полагаться на ИИ, поэтому я делаю все с помощью своей собственной логики, извините, если это беспорядочно)
введите описание изображения здесь. Доступ к правильному индексу.

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

Подробнее здесь: https://stackoverflow.com/questions/798 ... g-an-index
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»