2017-05-03 1 views
-3

Für meine Programmierklasse müssen wir einen einfachen Text-Adventure-Stil-Code mit Randomisierung erstellen. Ich kann die Grundlagen machen, aber wenn ich versuche, eine Wiederholung am Ende hinzuzufügen, fragt es den Benutzer nur, ob er es immer wieder versuchen möchte, anstatt wieder an den Anfang des Codes zu gehen.Python-Code, der nicht nach oben läuft

import random 

def main(): 

    cave1=('text1') 

    cave2=('text2') 

    #Radom assignment for caves 
    checkCave=random.randint(1,2) 

    #Text of situation 
    displayIntro='Two caves, one good, one bad' 
    print(displayIntro) 

    #input for cave choice. 
    chooseCave=int(input('Which cave do you enter?: (enter a 1 or 2): ')) 

    while chooseCave<1 or chooseCave>2: 
     print('Error: please enter a 1 or a 2.') 
    print() 

    #outcome 
    print('You slowly walk towards the cave.') 
    print() 

    if checkCave==1: 
     print(cave1) 
    else: 
     print(cave2) 
    print() 

    again='y' 
    while True: 
     while True: 
      again=input('Do you want to try again? y for yes, n to quit: ') 
      if again in ('y','n'): 
       break 
      print('Invalid input.') 
     if again=='y': 
      continue 
     else: 
      print('Goodbye') 
      break 

    return again 

main() 

jede Hilfe wäre willkommen. danke!

+0

fortfahren verursacht das Problem – Aditya

Antwort

0

continue bedeutet nur, um die nächste Iteration der for Schleife oder while Schleife zu starten, die es innerhalb gefunden wird. Sie benötigen eine äußere for-Schleife, wenn Sie den äußeren Code loopen wollen.

Wenn Sie Dinge in Funktionen einfügen, können Sie die Dinge leichter machen.

Viel Glück!