Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variable non définie

    13 décembre 2014 à 18:01:45

    Bonjour à tous !

    Je suis confronté à un problème avec mon code Python qui me semble pourtant irréalisable. Voici le code :

    #print(Avantage_deB)
    while Compteur <= Nombre_deB - 1:
    	fils.write("\tDe")
    	Compteur = str(Compteur)
    	fils.write(Compteur)
    	Compteur = int(Compteur)
    	Compteur += 1
    	fils.write("B")
    	fils.write(" = random.randint(1,6) ")
    	if Avantage_DeB == 1:
    		fils.write(AvantageB1)
    		fils.write(" ")
    		fils.write(AvantageB2)
    	fils.write("\n")
    Compteur = 0

    Vous vous demandez surement pourquoi ai-je mit print(Avantage_deB) en commentaire ? Tout simplement parce qu'il considère lorsque que je le mets que Avantage_deB n'est pas défini. Pourtant, lorsqu'il est commentaire, le test if Avantage_deB == 1: est bien réussi...

    Le problème c'est que plus tard dans le programme, sans utiliser la variable entre les deux tests,je refais un test if Avantage_deB == 1:, où il me met que la variable n'est pas définie (précisément : NameError: name 'Avantage_deB' is not defined).

    Comment est-ce possible ? Je n'agis absolument pas dessus entre les deux tests...

    Merci d'avance :/

    • Partager sur Facebook
    • Partager sur Twitter
      13 décembre 2014 à 18:09:50

      Avantage_deB(ligne 1) et Avantage_DeB (ligne 10) ne sont pas les mêmes. Le premier à un d minuscule alors que le second un D majuscule. C'est pour ça qu'on essaie de garder une certaine méthodologie dans l'écriture des variables. Une proposition de style est le PEP 8. Tu peux y lire qu'ils recommandent d'écrire les variables (tout comme les fonctions) en minuscule avec des _ (underscore) entre les mots. Donc dans ton cas, ce serait avantage_de_b.

      -
      Edité par Dan737 13 décembre 2014 à 18:10:21

      • Partager sur Facebook
      • Partager sur Twitter
        13 décembre 2014 à 18:12:31

        Oh... Notepad++ m'a induit en erreur, il ne respecte pas la casse quand on fait des recherches dans le programme :p

        Merci beaucoup, et désolé pour une erreur aussi bête --'

        Je regarde ça pour les variables, merci ;)

        • Partager sur Facebook
        • Partager sur Twitter
          13 décembre 2014 à 18:25:44

          BunshinKage a écrit:

          Oh... Notepad++ m'a induit en erreur, il ne respecte pas la casse quand on fait des recherches dans le programme :p

          Il peut respecter la casse si tu sélectionnes cette option dans la fenêtre de recherche.

          Pas de quoi. Ca nous arrive tous de genre de trucs!

          • Partager sur Facebook
          • Partager sur Twitter
            13 décembre 2014 à 22:56:36

            Dan737 a écrit:

            Il peut respecter la casse si tu sélectionnes cette option dans la fenêtre de recherche.

            Tiens je savais pas merci :p

            Juste pour savoir, qu'est-ce que c'est le PEP 8 ? Je veux dire, j'ai compris le but, mais je voudrais savoir le nom de ces normes, pour voir si l'une d'entre elles me convient plus que d'autres ^^

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              13 décembre 2014 à 23:06:18

              Se sont des recommandations, elles sont là plupart du temps appliquées par les développeurs python dont le souhait est de partager leurs sources. Tu peux donc faire comme tu veux, mais il faut savoir que ne pas respecter ces recommandations/conventions piquera les yeux à tous codeurs python à qui tu partageras ton code.

              Il faudra pas se plaindre des remarques ou du manque de réponses dans un forum, si tu ne les respectes pas !

              -
              Edité par Anonyme 13 décembre 2014 à 23:06:49

              • Partager sur Facebook
              • Partager sur Twitter
                14 décembre 2014 à 0:27:28

                Ces recommandations, il n'en existe qu'un seul type ? Seul le PEP 8 est accepté comme convention officielle ? :p
                • Partager sur Facebook
                • Partager sur Twitter
                  14 décembre 2014 à 3:18:30

                  Euh... Il y en a vraiment beaucoup, et sur tous types de sujets ^^'

                  La dernière PEP que j'ai consulté, était la, euh... 257 je crois.. ^^

                  -
                  Edité par InhumanRampage 14 décembre 2014 à 3:19:26

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    14 décembre 2014 à 10:38:59

                    La PEP8 regroupe les bonnes pratiques à l'utilisation de la syntaxe du langage. À partir du moment où tu respectes celle-ci et pas une autre, se sera toujours toléré par des développeurs python.

                    Rare sont ceux pouvant prétendre maîtriser chaque PEP écrite, mais la PEP8, c'est une bible pour développer en python...

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Variable non définie

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown