[Python] Dubbio su Tic Tac Toe

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
OMarchisan
Prode Principiante
Messaggi: 58
Iscrizione: sabato 27 giugno 2015, 20:47
Distribuzione: Ubuntu 19.04 64 Bit
Sesso: Maschile

[Python] Dubbio su Tic Tac Toe

Messaggio da OMarchisan »

Sto cercando di scrivere un tic tac toe. E' da poco che ho iniziato a programmare, ma non riesco a capire quale sia l'errore nello script:

Codice: Seleziona tutto

def play():
    player1 = ""
    player2 = ""
    def who_first():
        while True:

            first = input("Choose a marker:\n> ")
            
            if first == "x" or first == "X":
                player1 = "X"
                player2 = "O"
                print("Player 1 will be X.")
                return player1
                return player2 
                break
            elif first == "o" or first == "O":
                player1 = "O"
                player2 = "X"
                print("Player 1 will be O.")
                return player1
                return player2
                break
            else:
                print("\nPlease, choose a valid marker.\n")
                continue
        


play()
Più di preciso quando chiamo la funzione play non succede niente. Perché non chiede neanche l'input?
Avatar utente
Claudio_F
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1463
Iscrizione: lunedì 28 maggio 2012, 18:49
Desktop: Mate/Gnome
Distribuzione: Ubu22.04

Re: Dubbio su Tic Tac Toe [Python]

Messaggio da Claudio_F »

Tecnicamente succede questo: la funzione play crea due stringhe e una funzione (assegnate rispettivamente ai nomi player1 player2 who_first), poi termina (e le stringhe e la funzione who_first vengono subito cancellate in quanto locali).

Se la domanda è perché who_first non viene eseguita, la risposta è: perché non viene chiamata da nessuna parte ;)
OMarchisan
Prode Principiante
Messaggi: 58
Iscrizione: sabato 27 giugno 2015, 20:47
Distribuzione: Ubuntu 19.04 64 Bit
Sesso: Maschile

Re: Dubbio su Tic Tac Toe [Python]

Messaggio da OMarchisan »

Si! Guarda che scemo! Ci stavo pensando adesso che non l’ho chiamata ‘:/
La cosa ora è questa. Rendere utilizzabili dal resto dell’applicazione le variabili restituite è possibile?

Nel senso che io poi player1 e player2 li vorrei usare per avviare un’altra funzione che è poi il gioco vero e proprio di inserire i markers.

Grazie comunque dell’aiuto :D
Avatar utente
Claudio_F
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1463
Iscrizione: lunedì 28 maggio 2012, 18:49
Desktop: Mate/Gnome
Distribuzione: Ubu22.04

Re: [Python] Dubbio su Tic Tac Toe

Messaggio da Claudio_F »

Codice: Seleziona tutto

return player1, player2 
(i break non servono perché il return termina la funzione in quel punto)

e

Codice: Seleziona tutto

player1, player2 = play()
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 22 ospiti