While-Schleife in Python sich wiederholen lassen, bis der Nutzer gewinnt und 'n' eingibt?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich würde die Methode guessing so schreiben, dass dort tatsächlich nur geraten wird. Dann kannst du die dritte Bedingung weglassen, die Schleife wird beendet, wenn richtig geraten wurde.

Die Frage, ob man weitermachen will, gehört nicht in guessing.

try:
    _again = 'y'
    while _again == 'y':
        guessing()
        _again = input("Play again? Type 'y' for yes")

except KeyboardInterrupt:
      pass

Muss man natürlich nicht unbedingt so machen, es gibt immer auch mehrere Lösungen. Ich habe bei einer while-Schleife die Fortsetzungsbedingung gerne oben und möchte nicht nach einem break im Rumpf suchen müssen.

Woher ich das weiß:Berufserfahrung

Ekscel2010 
Fragesteller
 31.03.2021, 03:01

Hey! Vielen, vielen Dank! Es klappt endlich genau so, wie ich mir das vorstelle.

Liebe Grüße! :)

0
done=False
while not done:
    #work
    if <exticondition>:
      done=True

Wäre eine einfache Möglichkeit - Alternativ könnte man auch breaken.

Mußt Dich halt nur entscheiden, wann udn wie Du Deine Abbruchbedingung setzt.

Du kannst auch einfach:

while _var_usernumber != _var_secretnumber:
while _var_usernumber != _var_secretnumber and _again_var != 'n':

Deine Schleifebendingugn ergänzen.