IndentationError: expected an indented block

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
KeozFPV
User
Beiträge: 12
Registriert: Montag 12. Juli 2021, 19:18

Hallo, ich hänge schon den ganzen Tag an einem Problem und finde keine Lösung!

Code: Alles auswählen


F1 = 1          #Spielfeld F = Feld
F2 = 2
F3 = 3
F4 = 4
F5 = 5
F6 = 6
F7 = 7
F8 = 8
F9 = 9
XO = 1      #welcher spieler ist an der Reihe

stopvar = 1                  #whileloop
playerinput = 0

def game ():
    playerinput = input("Bitte gebe deine Wahl ein " + XO + ":" )
    if playerinput == range(9):

while 1 == 1:
    XO = input("Welcher spieler soll anfangen? X oder O:")
    if XO == X or O:
        while stopvar == 1:
            game()
    else:
        print('Falsche Eingabe.')
        continue
        
Die Konsole gibt mir den Fehler "
while 1 == 1:
^
IndentationError: expected an indented block"
aus. In meiner Logik habe ich alles richtig gemacht. Im Internet steht das ich Tab und Enter nicht mischen soll, und das habe ich auch nicht gemacht, obwohl ich noch nie Probleme damit hatte. Das ziel ist ein funktionierendes Tic Tac Toe spiel.
Danke im voraus! Gruß Jakob
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Welcher Code gehört denn zum if-Block?
Keine? Das ist der Fehler. Jeder Block braucht mindestens eine Anweisung.

Weitere Anmerkungen: playerinput ist ein String, der kann niemals gleich einem Range-Objekt sein.
1==1 ist True, dem Compiler ist das egal, aber zum Lesen ist es deutlich leichter.
Variablen sollten komplett klein geschrieben werden, also starting_player statt XO. X und O sind nirgends definiert und wahrscheinlich möchtest Du auch prüfen, ob XO, bzw. starting_player einen der Werte X oder O hat, das macht man mit dem in-Operator.
Das `continue` ist unnötig.
KeozFPV
User
Beiträge: 12
Registriert: Montag 12. Juli 2021, 19:18

Sirius3 hat geschrieben: Montag 12. Juli 2021, 20:08 Welcher Code gehört denn zum if-Block?
Keine? Das ist der Fehler. Jeder Block braucht mindestens eine Anweisung.

Weitere Anmerkungen: playerinput ist ein String, der kann niemals gleich einem Range-Objekt sein.
1==1 ist True, dem Compiler ist das egal, aber zum Lesen ist es deutlich leichter.
Variablen sollten komplett klein geschrieben werden, also starting_player statt XO. X und O sind nirgends definiert und wahrscheinlich möchtest Du auch prüfen, ob XO, bzw. starting_player einen der Werte X oder O hat, das macht man mit dem in-Operator.
Das `continue` ist unnötig.
Tatsächlich das hat's gelöst 🤦‍♂️ ;D Danke!
Und auch vielen Dank für die Anregungen. Die Muster Lösung wäre vermutlich viel kleiner und besser, aber ich versuche was ich machen kann. Das ist ja das tolle am programmieren. 👍
Antworten