2016-09-22 4 views
1

Laufen auf Python, ist dies ein Beispiel für meinen Code:Wie frage ich den Benutzer, ob er erneut spielen und die While-Schleife wiederholen möchte?

import random 

comp = random.choice([1,2,3]) 

while True: 
    user = input("Please enter 1, 2, or 3: ") 
    if user == comp 
      print("Tie game!") 
    elif (user == "1") and (comp == "2") 
      print("You lose!") 
      break 
    else: 
      print("Your choice is not valid.") 

Dieses Teil funktioniert also. Wie kann ich jedoch aus dieser Schleife aussteigen, weil nach Eingabe eines korrekten Eingangs immer wieder gefragt wird "Bitte 1,2,3 eingeben".

Ich mag fragen, auch wenn die Spieler wieder spielen wollen:

Psuedocode: irgendwie

 play_again = input("If you'd like to play again, please type 'yes'") 
    if play_again == "yes" 
     start loop again 
    else: 
     exit program 

Ist dies im Zusammenhang mit einer verschachtelten Schleife?

+0

Was meinst du mit "richtigen Eingang"? Ihr Programm erlaubt höchstens "Tie game!". Ist dies nach Eingabe einer korrekten Eingabe? Willst du danach die Schleife durchbrechen? Wenn ja, dann können Sie leicht dem gleichen Muster des "Sie verlieren!" Folgen. Fall ... –

Antwort

3

Punkte für Code:

  1. Code, den Sie eingefügt haben Sie ':' nach if,elif und else. nicht
  2. Was auch immer Sie Kontrolle Flow Statements achived werden wollen haben kann wie continue and break verwenden. Please check here for more detail.
  3. Sie müssen Pause von "YOU LOSE" entfernen, da Sie den Benutzer fragen möchten, ob er spielen möchte.
  4. Code, den Sie geschrieben haben, wird niemals "Tie Game" treffen, da Sie String mit Integer vergleichen. Die Benutzereingabe, die in der Variablen gespeichert wird, ist eine Zeichenfolge und comp, die von Random ausgegeben wird, wird Integer sein. Sie haben die Benutzereingabe in eine Ganzzahl wie int(user) konvertiert.
  5. Überprüfen, ob Benutzereingaben gültig sind oder nicht, können Sie einfach mit dem Operator in überprüfen.

Code:

import random 

while True: 
    comp = random.choice([1,2,3]) 
    user = raw_input("Please enter 1, 2, or 3: ") 
    if int(user) in [1,2,3]: 
     if int(user) == comp: 
      print("Tie game!") 
     else: 
      print("You lose!") 
    else: 
      print("Your choice is not valid.") 

    play_again = raw_input("If you'd like to play again, please type 'yes'") 
    if play_again == "yes": 
     continue 
    else: 
     break 
+0

@Lizzie - Bitte überprüfen Sie den aktualisierten Code und Kommentare –

Verwandte Themen