Moinsen!
Ich versuche gerade, eine vernünftige Programmiersprache zu lernen, aber bei fehlerhafter Eingabe gibt mir mein Interpreter (IDLE Python GUI) oft bis meistens nur ein sehr allgemeines "invalid syntax".
Z.B. bei:
If beta=5
alpha=10
markiert er das beta. Gut, nach eine halben Stunde habe ich rausgefunden, daß man das if klein schreiben muß, aber es gibt auch noch andere Situationen, die waren um einiges kniffliger.
Meine erste Sprache war QBasic, da hat der Compiler sehr oft den Fehler mit Fehlerbeschreibung angezeigt, aber bei Python 3.1 nicht. Habe auch schon Notepad++ ausprobiert (hab's aber nicht zum laufen gekriegt)
Hat jemand Erfahrungen mit alternativen Python 3.1 Interpretern?
Sven
"Invalid Syntax" - geht's auch etwas genauer?
So schwer ist die Syntax nicht, als das man immer gesagt bekommen muss, was denn gerade falsch ist. Und woher soll der Interpreter wissen, was gerade falsch ist und was der Programmierer beabsichtigt hat.
Schau dir doch das Tutorial an und arbeitete dieses durch. Dann solltest du erkennen, wo deine Fehler sind.
Dein Beispiel soll vermutlich:
lauten.
Schau dir doch das Tutorial an und arbeitete dieses durch. Dann solltest du erkennen, wo deine Fehler sind.
Dein Beispiel soll vermutlich:
Code: Alles auswählen
if beta == 5:
alpha = 10
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hallo sonyfriend, willkommen im Forum,
Naja, das wage ich ein wenig zu bezweifeln. Wenn man das Tutorial mal durchgemacht hat sind es idR nur ganz, ganz wenige Fälle wo die Syntax nicht ganz klar/intuitiv ist.sonyfriend hat geschrieben:markiert er das beta. Gut, nach eine halben Stunde habe ich rausgefunden, daß man das if klein schreiben muß, aber es gibt auch noch andere Situationen, die waren um einiges kniffliger.
QBasic ist ein Interpreter mit IDE, Notepad++ echt nur ein Editor. Der "versteht" den Code ja nicht.sonyfriend hat geschrieben:Meine erste Sprache war QBasic, da hat der Compiler sehr oft den Fehler mit Fehlerbeschreibung angezeigt, aber bei Python 3.1 nicht. Habe auch schon Notepad++ ausprobiert (hab's aber nicht zum laufen gekriegt)
Außer CPython gibt es momentan keine weiteren Interpreter.sonyfriend hat geschrieben:Hat jemand Erfahrungen mit alternativen Python 3.1 Interpretern?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Versprichst du dir von einem anderen Interpreter aussagekräftigere Fehlermeldungen? Wie meine Vorredner auch schon, empfehle ich dir ebenfalls erst die Basics von Python zu lernen bevor du dem Interpreter irgend eine Syntax vorwirfst.sonyfriend hat geschrieben:Hat jemand Erfahrungen mit alternativen Python 3.1 Interpretern?
Ich habe QBasic komplett übersprungen aber ich bezweifle das du eine bessere Fehlermeldung bekommst wenn du Pythonquellcode darin kompilieren lassen möchtest.
Pydev erzeugt andere - wenn auch nicht unbedingt bessere - Fehlermeldungen. Möglicherweise kann man da ein bisschen mehr als mit dem zugegeben wenig hilfreichen "invalid" von CPython herauslesen.
Am besten ist aber IMHO, was auch schon andere schrieben: Erst mal die Sprachbeschreibung und/oder das Tutorial lesen, um zumindest die Syntax zu verstehen.
Denn eines sollte klar sein: Es ist nicht die selbe Syntax wie bei QBasic, denn sonst würde Python nicht Python sondern QBasic heißen :)
Stefan
Am besten ist aber IMHO, was auch schon andere schrieben: Erst mal die Sprachbeschreibung und/oder das Tutorial lesen, um zumindest die Syntax zu verstehen.
Denn eines sollte klar sein: Es ist nicht die selbe Syntax wie bei QBasic, denn sonst würde Python nicht Python sondern QBasic heißen :)
Stefan
-
- User
- Beiträge: 14
- Registriert: Sonntag 24. Januar 2010, 23:32
Zugegeben, mir fehlt's noch an Übung, aber manchmal wünschte ich mir schon eine genauere Fehlerbeschreibung. Ich hätte gedacht, daß es sowas für Python gibt.....naja, gehe ich das Tutorial durch.
Euch allen jedenfalls vielen Dank!
Euch allen jedenfalls vielen Dank!
@sonyfriend: Speziell in diesem Falle hätte in IDLE doch eigentlich auffallen müssen, dass das ``if`` nicht die richtige Farbe hatte!? IDLE bietet doch Syntaxhighlighting. Wenn Schlüsselworte nicht entsprechend eingefärbt werden, dann sind sie in aller Regel falsch geschrieben.
-
- User
- Beiträge: 14
- Registriert: Sonntag 24. Januar 2010, 23:32
Naja, wie schon gesagt: ich bin noch Anfänger und da erkennt man noch nicht alles auf den ersten Blick.
Aber Übung macht den Meister.....
Aber Übung macht den Meister.....
Wie von den Vorrednern zum Teil schon angesprochen wurde: Das Problem liegt darin, dass der Interpreter nicht wissen kann wie es richtig gedacht war.
So wäre z.B. If (grossgeschrieben) ein valider Variablenname.
So wäre z.B. If (grossgeschrieben) ein valider Variablenname.
Code: Alles auswählen
>>> If = 3
>>> If + 2
5
-
- User
- Beiträge: 14
- Registriert: Sonntag 24. Januar 2010, 23:32
Ich weiß. Es ging mir in diesem Threat ja auch nur darum, ob es eine Möglichkeit gibt, den Fehler etwas genauer zu beschreiben. Inbesondere am Anfang ist das eine langwierige Sache, wenn man wegen so etwas manchmal stundenlang aufgehalten wird.
Wird aber immer besser
Wird aber immer besser
-
- User
- Beiträge: 14
- Registriert: Sonntag 24. Januar 2010, 23:32
Ouuuh, danke!
In diesem Forum lernt man ja was für's Leben!
In diesem Forum lernt man ja was für's Leben!