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 Code> Variable Il n'existe pas malgré le fait que je suis retourné en fonction. Qu'est-ce que je fais mal?
3 Réponses :
Votre variable est scopée à la fonction, le nom in_def_player_1_move code> est en fait deux variables différentes - une dans
déf_player_1_turn code> et l'autre dans
déf_do_u_want_2_play code >. Ils ont des valeurs indépendantes. Vous devez obtenir la valeur de retour de celui-ci et l'utiliser dans l'autre:
Lorsque vous Vous devez attribuer le résultat à une nouvelle variable et vérifiez que, par exemple P> 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.
move = def_player_1_turn()
# ...
if move:
# ...
Vous avez renvoyé votre variable de votre fonction ou si vous souhaitez l'utiliser directement, vous pouvez appeler votre fonction bonne chance p> p> p> déf_player_1_turn () code> 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.
déf_player_1_turn () code> Après votre instruction IF: P>
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