Bei Eingabe ungewollter/ungeklärter Sprung zu except

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Evil4President
User
Beiträge: 83
Registriert: Dienstag 15. Januar 2008, 15:39
Kontaktdaten:

Ich mach das mit Tutorials und Referenzen alles nach und nach. Informatik habe ich etwa seit einem 3/4 jahr in der Schule. Das was ich mache, kann ich anhand der Tatsachen, die uns unser Lehrer beigebracht hat, erklären. So wie er das mit dem try'n'except erklärt hat, kommt in den try-die normale Aktion hinen, die falls ein Fehler intritt dann nicht zu einem Ablaufabbruch führt, der in der IDLE protokolliert wird, sondern durch das except abgefangen wird und dann korrigiert werden kann.
Habe jetzt aber mal eine andere Idee bekommen und werde das jetzt mal testen. Falls es dann noch Probleme gibt, werde ich mich drum kümmern...
Evil4President
User
Beiträge: 83
Registriert: Dienstag 15. Januar 2008, 15:39
Kontaktdaten:

Hallo nochmal, habe jetzt eine andere Frage, um eine Lösung zu versuchen.
Ich zerlege jetzt jeden Teil in eine einzelne Funktion um zu testen, wos hängt. Will dann bei einem Fehler TRUE bzw FALSE returnen.
Wie kann ich denn in der IDLE dann den Wert des returns für die Funktion ausgeben lassen bzw anzeigen?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Wenn du im interaktiven Modus bist, dann rufst du die Funktion einfach auf. Andernfalls benutzt du, wie sonst auch, "print".
Evil4President
User
Beiträge: 83
Registriert: Dienstag 15. Januar 2008, 15:39
Kontaktdaten:

So, habe jetzt mein Problem gelöst...
Das mit dem print bzw Funktionaufrufen ging so nicht, da ich TRUE oder FALSE nicht an eine Variable gebunden habe. Habe an entsprechende Stelle jetzt einfach mal ein print mit entsprechendem Wert gesetzt m zu schauen, wo ich rauskomme. Mein Vergleichsproblem habe ich gelöst, indem ich mehrere if's ineinander verschachtelt habe.
Aber trotzdem gings noch nicht mit den Zahlen. Ein Bekannter hat mich eben darauf aufmerksam gemacht, dass man auch Strings miteinander vergleichen kann.
Also z.B. so: word<'a'

so ging das jetzt. :)

kann das eigtl sein, dass durch den Vergleich von ord(word) ein "falscher" ASCI werd ausgegeben wird? wenn ich einfach so prints setze um anzeigen zu lassen, sind die Werte korrekt. Sobald ich sie dann im Vergleich benutze, kommt der Fehler. Dafür finde ich keine logische Erklärung... Wäre ganz gut, wenn dafür vielleicht jemand eine Antwort hätte, damit ich da nicht einem syntax-Fehler unterlaufe oder so. Aber mit dem Vergleich von Strings geht mein Vorhaben wie gewollt.
BlackJack

"try'n'error" hat nichts mit den Schlüsselworten ``try`` und ``except`` zu tun. Das heisst zu Deutsch "Versuch und Irrtum" und ich meinte damit, dass Deine Quelltextschnippsel nicht danach aussehen, dass Du weisst was Du da tust, sondern durch herumprobieren entstanden sind.

``ord(word)`` liefert zum Beispiel immer den gleichen Wert zurück (für gleiches `word` und `i`), egal ob's nach einer ``print``-Anweisung oder mit einem Vergleichsoperator verwendet wird. Wenn da etwas nicht funktioniert wie erwartet, ist der Quelltext falsch, oder es ist ein Denkfehler. Und das solltest Du *klären*. Aus Fehlern sollte man lernen, damit sie nicht wiederholt.
Antworten