Python while?

3 Antworten

mit dem man aus der Schleife ausbrechen kann(break) und sie wieder von vorne zu starten

Mach eine weitere Schleife drum rum. Dadurch wird die innere Schleife erneut ausgeführt, also "von vorne gestartet" sobald aus der Schleife ausgebrochen wurde.

while True:
  while True:
    print("Dein Code hier")
    if ...:
      break

Oder willst du die Schleife gezielt, also z.B. auf Knopfdruck, neu-starten?
Dann pack sie in eine Funktion und ruf die Funktion auf wann immer du willst:

def main_loop():
  if gamestate == "running":
    return # Nicht neu starten wenn die Schleife bereits läuft

  gamestate = running
  while True:
    print("Dein Code hier")
    if pausePressed:
      gamestate = "paused"
      break


main_loop()
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

Ja, es gibt in Python den Befehl

break

, mit dem man aus einer Schleife ausbrechen kann. Wenn Sie in Pygame möchten, dass die Schleife von vorne beginnt, können Sie stattdessen den Befehl

continue

verwenden. Hier ist ein Beispiel:


# Beispiel für die Verwendung von break und continue in einer Schleife # Wir beginnen damit, eine Liste mit Zahlen zu erstellen numbers = [1, 2, 3, 4, 5] # Wir iterieren über die Liste und drucke jedes Element aus for number in numbers: # Wenn das aktuelle Element die Zahl 3 ist, brechen wir aus der Schleife aus if number == 3: break # Wenn das aktuelle Element die Zahl 2 ist, springen wir zum nächsten Element # und fahren mit der Schleife fort if number == 2: continue # Wenn das aktuelle Element weder die Zahl 2 noch die Zahl 3 ist, drucke es aus print(number) # Das Ergebnis wird sein: 1, 4, 5

verlassne kannst du die Schleife mit einem break:
https://www.w3schools.com/python/python_while_loops.asp

Ist das while dein Game-Loop? Warum solltest du sie dann wieder starten wollen? Das macht für mich nicht so viel Sinn...


Valentin2882 
Fragesteller
 13.12.2022, 18:53

Ja ist meine Game-Loop aber ich will aus dem Game in Menü zurück gehen und dann wieder in das eigentliche Spiel und das geht dann nicht mehr deswegen sollte ich die Schleife reseten.

0