IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Probleme de variable


Sujet :

Python

  1. #1
    Membre régulier Avatar de will97
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 126
    Points : 80
    Points
    80
    Par défaut Probleme de variable
    bonjour tous le monde,

    lorsque je le lance il me dit que la variable Pet nest pas declarer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        if Pet == "1":
    NameError: name 'Pet' is not defined
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    myPet = open("mypet.pet","r")
    for line1 in myPet:
        Pet = line1
    myPetName = open("mypetn.pet","r")
    for line2 in myPetName:
        PetName = line2
    print "Stats"
    statE = open("state.pet","r")
    for line3 in statE:
        energi = line3
    statH = open("stath.pet","r")
    for line4 in statH:
        hungry = line4
     
    if Pet == "1":
        print "Miaou Miaou"
    if Pet == "2":
        print "Wouf Wouf"
    if Pet == "3":
        print "Cui Cui"
    if Pet == "4":
        print "Bloup Bloup"
    tous les fichier sont present dans le dossier et j'verifier les nom plus qu une fois.

    merci

  2. #2
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    normal PET est declarer dans une boucle FOR... donc il n'est pas accessible dans les autres boucle.

    Une solution est de declarer PET en global au debut avant toute tes boucles.
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  3. #3
    Membre régulier Avatar de will97
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 126
    Points : 80
    Points
    80
    Par défaut
    ca marche toujour pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        if Pet == "1":
    NameError: global name 'Pet' is not defined
    le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    global Pet
    global PetName
    global energi
    global hungry
     
    try:
        myPet = open("mypet.pet","r")
        for line1 in myPet:
            Pet = line1
        myPetName = open("mypetn.pet","r")
        for line2 in myPetName:
            PetName = line2
        print "Stats"
        statE = open("state.pet","r")
        for line3 in statE:
            energi = line3
        statH = open("stath.pet","r")
        for line4 in statH:
            hungry = line4
     
    except:
        print """Creer un nouvel animal
    """
        outp = open("mypet.pet","w")
        print """1) Chat
    2) Chien
    3) Oiseau
    4) Poisson"""
        myPetType = raw_input("> ")
        outp.write(myPetType)
        outp.close()
     
        myPetN = raw_input("Nom : ")
        outp = open("mypetn.pet","w")
        outp.write(myPetN)
        outp.close()
     
        outp = open("state.pet","w")
        outp.write("100%")
        outp.close()
     
        outp = open("stath.pet","w")
        outp.write("100%")
        outp.close()
     
        print ""
     
    if Pet == "1":
        print "Miaou Miaou"
    if Pet == "2":
        print "Wouf Wouf"
    if Pet == "3":
        print "Cui Cui"
    if Pet == "4":
        print "Bloup Bloup"

  4. #4
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Tu le definie Ou line1 ???

    C'est quoi un integer, un string?

    Il n'est pas declarer donc je pense que c'est pour ca.
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    A priori, ce serait plutôt que le fichier mypet.pet est vide et donc que la première boucle For est tout de suite terminé et la variable pet jamais initialisé.

    En même temps, ce que tu écris est un peu bizarre. Qu'est-ce que tu cherches à faire ?

  6. #6
    Membre habitué
    Avatar de Zorro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 130
    Points
    130
    Par défaut
    vous devez initialiser Pet pour que ca marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    global Pet
    global PetName
    global energi
    global hungry
    Pet =str()                                # initialisation de Pet
    try:
        myPet = open("mypet.pet","r")
        for line1 in myPet:
            Pet = line1
            myPetName = open("mypetn.pet","r")
            for line2 in myPetName:
                PetName = line2
                print "Stats"
                statE = open("state.pet","r")
                for line3 in statE:
                    energi = line3
                    statH = open("stath.pet","r")
                    for line4 in statH:
                        hungry = line4
    except:
             print """Creer un nouvel animal """
             outp = open("mypet.pet","w")
             print """1) Chat
                      2) Chien
                      3) Oiseau
                      4) Poisson"""
             myPetType = raw_input("> ")
             outp.write(myPetType)
             outp.close()
             myPetN = raw_input("Nom : ")
             outp = open("mypetn.pet","w")
             outp.write(myPetN)
             outp.close()
             outp = open("state.pet","w")
             outp.write("100%")
             outp.close()
             outp = open("stath.pet","w")
             outp.write("100%")
             outp.close()
             print ""
    if Pet == "1":
       print "Miaou Miaou"
    if Pet == "2":
       print "Wouf Wouf"
    if Pet == "3":
       print "Cui Cui"
    if Pet == "4":
       print "Bloup Bloup"
    Resultat 1 execution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Creer un nouvel animal 
       1) Chat 
       2) Chien 
       3) Oiseau 
       4) Poisson
    > 1
    Resultat 2 execution
    Coure-moi après que je t’attrape.

  7. #7
    Membre régulier Avatar de will97
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 126
    Points : 80
    Points
    80
    Par défaut
    Merci Zorro

    tout marche maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de variable entre SQL et Php
    Par copin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/06/2005, 10h58
  2. Réponses: 10
    Dernier message: 03/05/2005, 21h57
  3. [langage] Probleme de variable transfert de contenu
    Par Ludo167 dans le forum Langage
    Réponses: 10
    Dernier message: 08/07/2004, 11h40
  4. [algo]probleme de variables hotes ds un insert
    Par omega dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2004, 09h03
  5. Réponses: 2
    Dernier message: 04/01/2004, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo