Python Syntax-Fehler in der if-Anweisung
Ich bin stucked mit einem Python if-Anweisung. Ich fertige so ziemlich alles, aber wenn mit meinem progarmm, es gibt meiner einen syntax Fehler in der ersten Zeile: ich bin so sicher, dass ich alles richtig gemacht hab aber ich bin sehr neu in Python und der Programmierung überhaupt, könnte es nur ein sehr dummer Fehler...
Danke für die Hilfe Jungs!
if a == 2:
StartDeckNeighbourright = StartDeck[a + 1]
StartDeckNeighbourright2 = StartDeck[a + 2]
- Was ist der Fehler??? Fügen Sie es bitte
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn dies nicht der
IndentationError
dass jramirez die Antwort von Bugfixes, sondern vielmehr eine tatsächlicheSyntaxError
, dass es wahrscheinlich ein problem mit der Zeile vor dieif
- Anweisung.In Python, können Sie weiterhin einen Ausdruck über mehrere Zeilen, solange, bis der Ausdruck in Klammern. Also, wenn Sie versehentlich verlassen aus einem
)
am Ende eines Funktionsaufrufs, oder ein Tupel, oder irgendetwas anderes, dann erhalten Sie oft eine geheimnisvolleSyntaxError
auf die nächsten Linie. Zum Beispiel dieser code:... wird diesen Fehler:
Und einfach hinzufügen ein weiteres Komma verschiebt sich der Fehler irgendwo anders!
Warum? Gut, auch wenn Sie genau verstehen, was diese Fehler bedeuten, dass Sie noch nicht sehr hilfreich. Also Erstens, denken Sie daran:
Wenn Sie eine
SyntaxError
auf eine perfekt gültige Zeile, suchen für eine fehlende)
(oder]
oder}
oder eine extra\
oder ein paar andere Sonderfälle) auf der Linie oben.Und wenn man einen editor, der Ihnen hilft, match-up-Klammern und Klammern, wird es dieses problem viel weniger wahrscheinlich. (Zum Beispiel mit emacs, zumindest so, wie ich es eingerichtet haben, werden automatisch versuchen Gedankenstrich des
if
Zeile 7 Zeichen für mich, und wenn ich "fix" es, es werde wieder zu kämpfen gegen mich, und schließlich werde es schwer sein, nicht zu bemerken, dass etwas falsch ist. Dann Stelle ich bei der ersten(
und es sagt mir, es ist unvergleichlich.)Aber wenn Sie wissen wollen, hier geht:
Die erste version baut ein Tupel mit dem Wert
1
dann einen Wert beginnend mit2
- und Weiterbildung auf der nächsten Zeile.2 if a == 2
ist ein ganz guter Anfang für eine ternäreif
Ausdruck, aber2 if a == 2:
ist es nicht; der Doppelpunkt Kräfte, durch die er einif
- Anweisung, und Sie können nicht nur eine Anweisung in der Mitte eines Ausdrucks.Die zweite version baut ein Tupel mit dem Wert
1
, der Wert2
und mehr Werte-die weiter auf die nächste Zeile.if
nicht der Anfang von jeder gültige Ausdruck, so erhalten Sie dieSyntaxError
früher. Aber immer noch nicht früh genug, um nützlich zu sein, natürlich.Sollten Sie post die Fehlermeldung, die Sie sehen, aber ich denke, alles, was Sie brauchen, ist die Einrückung nach der if-Anweisung
In python, müssen Sie Einrückung verwenden: