invalid Syntax

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
Eragpm
User
Beiträge: 14
Registriert: Mittwoch 10. Juni 2020, 23:20

Hallo
ich gerade versucht ein tic tac toe spiel zu schreiben bei den Klassen und Funktionen schien alles okay zu sein sprich es wurde keinerlei Fehler angezeigt komme ich dann allerdings in meinen Main part rein bekomme ich einen invalid Syntax error und ich hab absolut keine Ahnung wie dieser entsteht.

Code: Alles auswählen

  while not board.is_full():
        try:
            cell = int(input("where do you want to place your sign? [1-9]"))
            except ValueError:
                continue
In diesen abschnitt wird überprüft ob der Spieler eine gültige Zahl eingegeben hat . Allerdings bekomme ich genau bei "except Value Error" einen Syntaxfehler(invalid Syntax). Ich habe schon Klammerung und Einrückung mehrfach überprüft, kann aber den Fehler nicht finden. Danke schon mal im Voraus für eure Hilfe.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

try und except gehören auf die gleiche Einrückungstiefe.
Benutzeravatar
__blackjack__
User
Beiträge: 13236
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Eragpm: Mit ``continue`` sollte man sparsam umgehen. Das lässt sich eigentlich immer vermeiden. Hier sogar ganz leicht, denn es ist nicht nötig — an einfaches ``pass`` an der Stelle tut es auch.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Sirius3
User
Beiträge: 17822
Registriert: Sonntag 21. Oktober 2012, 17:20

@__blackjack__: das ist ja wahrscheinlich nicht der gesamte Code, denn sonst ist es eine Endlosschleife, da `board` nicht geändert wird.

@Eragpm: statt `continue` sollte man eine eigene Funktion einsetzen (mit Schleife), die eine gültige Zahl liefert und dann mit dem Spiel weitermacht.
Benutzeravatar
__blackjack__
User
Beiträge: 13236
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Stimmt. Dann würde ich aber trotzdem ``pass`` verwenden und zu dem ``try``/``except`` einen ``else``-Zweig hinzufügen.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Eragpm
User
Beiträge: 14
Registriert: Mittwoch 10. Juni 2020, 23:20

danke für eure Hilfe. Bis jetzt habe ich versucht python über YouTube Videos zu lernen. Könnte mir vielleicht jemanden sagen ob es irgendwo eine detailierte schrittweise Anleitung gibt.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Es gibt das offizielle Python Tutorial. Das kannst du zB mal durcharbeiten. Auf python.org.
Antworten