Warum behandelt die Ausnahme „IndexError“ den Fehler nicht, wenn auf einen Index außerhalb der Liste zugegriffen wird?Python

Python-Programme
Anonymous
 Warum behandelt die Ausnahme „IndexError“ den Fehler nicht, wenn auf einen Index außerhalb der Liste zugegriffen wird?

Post by Anonymous »

Ich lerne Python und das ist der Code, mit dem ich Probleme habe:

Code: Select all

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()
Ich habe es vereinfacht, um das Debuggen zu erleichtern, ohne die Hauptlogik zu ändern (leider lerne ich noch), aber wenn ich auf einen Index außerhalb der Liste zugreife, druckt das Programm nicht („Außerhalb des Bereichs“) und zeigt einfach nichts an. Auch wenn ich bereits die IndexError-Ausnahme mache, kann mir jemand helfen? Ich wusste nicht, warum mein Gehirn damit nicht arbeiten kann
(Ich möchte mich nicht zu sehr auf KI verlassen, also mache ich alles mit meiner eigenen Logik, tut mir leid, wenn es chaotisch ist)
Bildbeschreibung hier eingeben Auf den richtigen Index zugreifen

Hier Bildbeschreibung eingeben Auf Index außerhalb der Listengröße zugreifen
Und wenn Sie Vorschläge haben, können Sie sie mir auch mitteilen, damit ich sie weiter verbessern kann

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post