Willkommen bei Python Land · Übung
Fehler gehören zum Programmieren
Beim Programmieren begegnen dir schon früh Fehler. Deshalb lohnt es sich, zu verstehen, was sie tatsächlich bedeuten.
Ein Fehler bedeutet nicht, dass du schlecht programmierst. Er bedeutet, dass Python auf etwas gestoßen ist, das es nicht verstehen oder ausführen konnte. Die Fehlermeldung ist Pythons Bericht darüber, was passiert ist.
Auch erfahrene Programmiererinnen und Programmierer sehen täglich Fehler. Die nützliche Fähigkeit besteht nicht darin, jeden Fehler zu vermeiden, sondern darin, zu wissen, was du tun kannst, wenn einer auftritt.
Erzeuge absichtlich einen Fehler
Führe dieses Beispiel einmal aus, solange es noch korrekt ist:
Entferne jetzt nur das schließende Anführungszeichen nach dem Punkt und drücke erneut Run.
Python kann nicht erkennen, wo der Text endet, und zeigt deshalb einen Fehler an. Die Meldung kann etwa so aussehen:
SyntaxError: unterminated string literal
Lies die Meldung und drücke dann Reset code, um das funktionierende Beispiel wiederherzustellen.
Du hast gerade einen Fehler erzeugt, ihn untersucht und den funktionierenden Zustand wiederhergestellt. Dabei wurde nichts beschädigt.
Beginne ganz unten
Ein Fehlerbericht kann mehrere Zeilen enthalten. Du musst noch nicht alle verstehen. Meistens ist die letzte Zeile der beste Ausgangspunkt.
Achte auf:
Den Fehlernamen, etwa
SyntaxErroroderNameError, in der letzten ZeileEine kurze Meldung in derselben Zeile, die beschreibt, was Python nicht tun konnte
Eine Zeilennummer an anderer Stelle des Berichts, die zeigt, wo Python das Problem bemerkt hat
Ein SyntaxError bedeutet, dass Python die Struktur des Codes nicht verstehen konnte. Ein fehlendes Anführungszeichen oder eine fehlende Klammer kann ihn auslösen.
Ein NameError bedeutet, dass Python auf einen unbekannten Namen gestoßen ist. Python unterscheidet bei Namen zwischen Groß- und Kleinschreibung. Print und print sind deshalb verschiedene Namen.
Das nächste Beispiel enthält eine Zeile, die mit # beginnt. Das ist ein Kommentar: eine Notiz für Menschen, die den Code lesen. Python führt sie nicht aus. Hier teilt sie der Übungsumgebung mit, welcher absichtliche Fehler zu erwarten ist.
Python kennt die kleingeschriebene Funktion print, aber keine Funktion namens Print. Die Fehlermeldung schlägt möglicherweise auch print als Korrektur vor. Selbst ohne einen Vorschlag zeigt dir der unbekannte Name, wo du den Vergleich mit einem funktionierenden Beispiel beginnen kannst.
Eine wiederverwendbare Routine zur Fehlersuche
Wenn ein Programm einen Fehler erzeugt, versuche diese Schritte:
Halte inne und lies die letzte Zeile der Fehlermeldung.
Suche die Zeile, die Python nennt.
Vergleiche diese Zeile mit einem Beispiel, von dem du weißt, dass es funktioniert.
Korrigiere eine wahrscheinliche Ursache.
Führe das Programm erneut aus.
Es ist wichtig, immer nur eine Sache zu ändern. Wenn du fünf Dinge gleichzeitig änderst, weißt du nicht, welche Änderung das Problem behoben hat.
Dein Programm zeigt einen Fehler an. Was solltest du zuerst tun?
Repariere das Programm
Im Editor dieser Lektion stehen drei print-Anweisungen. Eine davon verwendet die falsche Groß- und Kleinschreibung.
Drücke Run, bevor du etwas änderst. Python führt die erste Zeile aus, hält in der zweiten Zeile an und zeigt einen NameError. Die dritte Zeile wird nicht ausgeführt, weil Python beim Fehler angehalten hat.
Suche den unbekannten Namen und korrigiere ihn. Das fertige Programm muss Folgendes ausgeben:
Errors are useful.
I can read them.
I can fix them.
Entferne die problematische Anweisung nicht. Repariere sie, führe das Programm erneut aus und drücke anschließend Submit.
Lass Monty die Meldung erklären
Solange der Fehler sichtbar ist, kannst du unter der Ausgabe Ask Monty to explain my error drücken. Wenn du das Programm schon repariert hast, kannst du das später bei einem anderen Fehler ausprobieren.
Monty kann die Meldung erklären, den Bezug zu deinem Code herstellen und dir einen überschaubaren nächsten Schritt vorschlagen. Die Korrektur machst weiterhin du. Dabei lernst du.
Fehler sind kein Umweg beim Programmieren. Sie zu finden und zu beheben gehört zum Programmieren.
Aufgabe
Führe den Startcode aus und lies die Fehlermeldung. Korrigiere anschließend den Fehler bei der Groß- und Kleinschreibung, sodass die Ausgabe genau so aussieht:
Errors are useful.
I can read them.
I can fix them.
Führe das reparierte Programm aus und drücke anschließend Submit.