0
votes

La variable n'existe pas sur le retour

Alors, j'apprends Python et j'ai décidé de faire un jeu Tic Tac Toe afin que vous puissiez la jouer dans la console plusieurs fois. Et je pensais que la meilleure façon de le faire est de tout faire dans les fonctions afin que vous puissiez les appeler encore et encore après avoir fini de jouer ... Je n'ai pas vraiment fait de progrès 'COS après avoir essayé d'appeler in_def_player_1_move Variable Il n'existe pas malgré le fait que je suis retourné en fonction. Qu'est-ce que je fais mal? XXX


1 commentaires

Je comprends que je fais que ce que je fais ce n'est pas la meilleure façon de faire ce jeu mais je suis juste concerné pourquoi ne fait pas ce que je fais du travail


3 Réponses :


0
votes

Votre variable est scopée à la fonction, le nom in_def_player_1_move est en fait deux variables différentes - une dans déf_player_1_turn et l'autre dans déf_do_u_want_2_play . Ils ont des valeurs indépendantes. Vous devez obtenir la valeur de retour de celui-ci et l'utiliser dans l'autre: xxx

Description succincte des règles de slimage?


0 commentaires

1
votes

Lorsque vous retour code> à partir d'une fonction, vous ne renvoyez que la valeur em> que la variable contient. Le nom de cette variable est toujours local sur cette fonction.

Vous devez attribuer le résultat à une nouvelle variable et vérifiez que, par exemple P>

move = def_player_1_turn()
# ...
if move:
    # ...


0 commentaires

0
votes

Vous avez renvoyé votre variable de votre fonction déf_player_1_turn () mais vous n'avez pas géré la valeur renvoyée. Vous devez l'affecter à un nom de variable afin que vous puissiez l'utiliser. xxx

ou si vous souhaitez l'utiliser directement, vous pouvez appeler votre fonction déf_player_1_turn () Après votre instruction IF: xxx

bonne chance


0 commentaires