Come faccio a ri-eseguire il codice in Python?

Ho questa parola onu-scrambler gioco che appena viene eseguito il comando ” CMD ” o la shell di python. Quando l’utente indovina la parola correttamente o erroneamente si dice “premere un tasto qualsiasi per giocare di nuovo”

Come faccio a farla partire di nuovo?

  • Utilizzare un ciclo di qualche tipo…

 

6 Replies
  1. 5

    Non hanno l’uscita dal programma, dopo aver valutato l’input da parte dell’utente; invece, fare questo in un ciclo. Per esempio, un semplice esempio che non ha nemmeno usare una funzione:

    phrase = "hello, world"
    
    while input("Guess the phrase: ") != phrase:
        print("Incorrect.")  # Evaluate the input here
    print("Correct")  # If the user is successful

    Questo genera la seguente, con il mio utente di input mostrato:

    Guess the phrase: a guess
    Incorrect.
    Guess the phrase: another guess
    Incorrect.
    Guess the phrase: hello, world
    Correct

    Ovviamente questo è abbastanza semplice, ma la logica suona come quello che si sta dopo. Un po ‘ più complessa la cui versione, con le funzioni definite per vedere dove la tua logica sarebbe coerente, potrebbe essere come questo:

    def game(phrase_to_guess):
        return input("Guess the phrase: ") == phrase_to_guess
    
    def main():
        phrase = "hello, world"
        while not game(phrase):
            print("Incorrect.")
        print("Correct")
    
    main()

    L’output è identico.

    • Si intuisce nella terza prova, senza indizi, wow +1! ;P
    • Ho pensato di indovinare al primo tentativo non sarebbe mostrare tutto l’output, e non voglio farlo sembrare come se stesse tradendo segnando la seconda ipotesi…
    • Ancora, è piuttosto sorprendente! Il mio +1 per il tuo ragionamento :)))
  2. 3

    Anche il seguente Stile funziona!!

    Check it out.

    def Loop():
        r = raw_input("Would you like to restart this program?")
            if r == "yes" or r == "y":
                Loop()
            if r == "n" or r == "no":
                print "Script terminating. Goodbye."
        Loop()

    Questo è il metodo per l’esecuzione di funzioni (set di istruzioni)
    ripetutamente.

    Spero Vi piaccia 🙂 :} :]

    • Per farlo funzionare in python 3.x, modificare raw_input per input
  3. 1

    Provare un ciclo:

    while 1==1:
        [your game here]
        input("press any key to start again.")

    O se si desidera ottenere fantasia:

    restart=1
    while restart!="x":
        [your game here]
        input("press any key to start again, or x to exit.")
    • raw_input() non è parte di Python 3, che sto assumendo che l’utente sta utilizzando, basato sull’originale tag.
    • Perché 1==1 – sia while 1: o, preferibilmente, while True: sicuramente?
    • Cambiato di input(), grazie. Non posso mantenere il mio python capacità di up-to-date, ma ho pensato che anche io possa gestire questa domanda…
    • Nessuna preoccupazione. Ho solo voluto assicurarsi che qualsiasi codice di esempio l’OP paste in opere destra fuori del blocco.
    • Grazie. È utile avere rilievo il fatto che mi è stato bloccato il linguaggio naturale prospettiva di “mentre [istruzione condizionale]” invece del più corretto prospettiva di “mentre [qualcosa che restituisce un valore booleano]”.
  4. 1

    Qui è un modello che è possibile utilizzare per eseguire un blocco di codice. Pensare di #codice come segnaposto per una o più righe di codice Python.

    def my_game_code():
        #code
    
    def foo():
        while True:
            my_game_code()
  5. 0

    Si potrebbe usare un semplice while loop:

    line = "Y"
    
    while line[0] not in ("n", "N"):
        """ game here """
        line = input("Play again (Y/N)?")

    spero che questo aiuta

    • Per le altre risposte e commenti, raw_input() non è parte di Python 3.
    • mi dispiace di non notare la sua su python 3
    • Nessuna preoccupazione. Ho modificato la dichiarazione sbagliata.
  6. 0

    Modo semplice, anche per utilizzare i valori booleani, è più facile da comprendere, se sei un principiante (come me). Questo è quello che ho fatto per un progetto di gruppo:

     restart = True
    
     while restart:
         #the program
         restart = raw_input("Press any key to restart or q to quit!")
         if restart == "q":
             restart = False

Lascia un commento