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 :

variable de type liste non reconnue [Python 3.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut variable de type liste non reconnue
    Bonjour à tous,
    je tente de faire un jeu ou le jouer doit retrouver les transformations qui ont été appliquées à une photo.
    Il voit dont apparaître le photo puis la photo transformée. Il coche ensuite dans une fenêtre Tkinter pour indiquer les transformations qu'il pense avoir reconnues.
    Puis relance pour obtenir de nouveau un traitement d'image et avoir son résultat à la question précédente (en même temps).
    Le code ci-dessous. J'ai ajouté de print pour comprendre ce qui ne fonctionne pas et j'ai le message suivant :
    []
    True
    liste mémoire : [1, 3]
    [1, 3]
    False
    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\EduPython\App\lib\tkinter\__init__.py", line 1538, in __call__
    return self.func(*args)
    File "C:\Users\Cathestef\Dropbox\Perso\StefAtWork\habilitation-ISN\projetTrtImagesSRoebroeck\JeuTrtImagesSR_essai.py", line 27, in start
    while game(compteur):
    File "C:\Users\Cathestef\Dropbox\Perso\StefAtWork\habilitation-ISN\projetTrtImagesSRoebroeck\JeuTrtImagesSR_essai.py", line 68, in game
    result(liste_traitements_joueur,memoire_traitements)
    UnboundLocalError: local variable 'memoire_traitements' referenced before assignment

    Donc j'ai fait affficher la liste memoire_traitements mais, bizarrment, il ne veut pas la prendre en paramètre ensuite : UnboundLocalError: local variable 'memoire_traitements' referenced before assignment
    Pouvez-vous m'aider ?
    Merci à vous.

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    #-*- coding: utf-8 -*-
    from tkinter import*
    from tkinter.filedialog import*
    from PIL import Image
    from random import*
    from math import*
    from fonctions_Tti import*
    import os
    import time
    import numpy as np
     
    def tirage(n,p):# parmi n transformations, on en choisit aléatoirement 4 (tirage sans remise)
        L1=[]
        for i in range(n):
            L1.append(i+1)
        L2=[]
        while len(L2)!=p:
            a=randint(1,len(L1))
            L2.append(L1[a-1])
            del(L1[a-1])
        return(L2)
     
    def jeuTrtImages():
        transformations=['filigrane','decoupeBandes_H','decoupeBandes_V']#,'symetrieAxe_H','symetireAxe_V','rotation+90']
        compteur=0
        def start():
            while game(compteur):
                pass
     
        def game(compt):
            c=compt
            liste_2_traitements=tirage(len(transformations),2)
            #on va chercher les images dans le bon dossier
            liste_photos=os.listdir("../projetTrtImagesSRoebroeck/Photos_Tti")
            #on tire au hasard la photo à traiter
            PhotoATraiter=liste_photos[randint(0,len(liste_photos))-1]
            im1 = Image.open(PhotoATraiter)
            im1.show()   #on affiche la photo à traiter
            time.sleep(0.5)
            liste_traitements_ordi=np.zeros(6)
            for i in range(len(transformations)):
                liste_traitements_ordi[liste_2_traitements[i-1]]=1
            chaine_traitements_ordi=str()
            liste_traitements_ordi=str(liste_traitements_ordi)
            for i in range(6):
                chaine_traitements_ordi=chaine_traitements_ordi+liste_traitements_ordi[i]
            for traitement in liste_2_traitements:
                im1=eval(transformations[traitement-1])(im1)
            im1.show()
            time.sleep(0.5)
            im1.close()
            liste_traitements_joueur=[]
            if choix_filigrane.get()==1:
                liste_traitements_joueur.append(1)
            if choix_decoupeBandes_H.get()==1:
                liste_traitements_joueur.append(2)
            if choix_decoupeBandes_V.get()==1:
                liste_traitements_joueur.append(3)
            if choix_symHoriz.get()==1:
                liste_traitements_joueur.append(4)
            if choix_symVert.get()==1:
                liste_traitements_joueur.append(5)
            if choix_rotation.get()==1:
                liste_traitements_joueur.append(6)
            print(liste_traitements_joueur)
            print(liste_traitements_joueur==[])
            if liste_traitements_joueur!=[]:
                result(liste_traitements_joueur,memoire_traitements)
            liste_2_traitements.sort()
            memoire_traitements=liste_2_traitements
            print("liste mémoire : ",memoire_traitements)
     
        def result(joueur,ordi):
            juste=True
            new_score=0
            print("Traitements ordi : ",ordi)
            print("Traitements joueur : ",joueur)
            juste=(joueur==ordi)
            new_score=joueur_score.get()
            new_score+=juste
            joueur_score.set(new_score)
     
        tti_window=Toplevel()
        tti_window.title("Imageometrix")
     
        choix_filigrane= IntVar()
        choix_decoupeBandes_H= IntVar()
        choix_decoupeBandes_V= IntVar()
        choix_symHoriz= IntVar()
        choix_symVert= IntVar()
        choix_rotation= IntVar()
        joueur_score= IntVar()
        #memoire_traitements=StringVar()
        #liste_2_traitements=StringVar()
        liste_traitements_ordi= StringVar()
        liste_traitements_joueur= StringVar()
        liste_traitements_joueur_vieux= StringVar()
     
        tti_frame=Frame(tti_window, width=300)
        tti_frame.grid(column=0, row=0, sticky=(N,W,E,S))
        tti_frame.columnconfigure(0, weight=1)
        tti_frame.rowconfigure(0,weight=1)
     
        Label(tti_frame, text='Cliquer sur le bouton "Lancer",\n observer les deux images attentivement\n puis cocher les transformations qui permettent\nde passer de l\'une à l\'autre.').grid(column=1,row=1, sticky=W)
        Checkbutton(tti_frame, text='effet filigrane', variable=choix_filigrane).grid(column=1, row=3,sticky=W)
        Checkbutton(tti_frame, text='découpe en bandes horizontales',variable=choix_decoupeBandes_H).grid(column=1, row=4,sticky=W)
        Checkbutton(tti_frame, text='découpe en bandes verticales',variable=choix_decoupeBandes_V).grid(column=1, row=5,sticky=W)
        Checkbutton(tti_frame, text='symétrie axe horizontale',variable=choix_symHoriz).grid(column=1, row=6,sticky=W)
        Checkbutton(tti_frame, text='symétrie axe verticale', variable=choix_symVert).grid(column=1, row=7,sticky=W)
        Checkbutton(tti_frame, text='rotation antihoraire de 90°',variable=choix_rotation).grid(column=1, row=8,sticky=W)
     
        Button(tti_frame, text="Lancer", command=start).grid(column=2, row=2)
     
        Label(tti_frame, text="Score").grid(column=1, row=9,sticky=W)
        Label(tti_frame, textvariable=joueur_score).grid(column=1, row=10,sticky=W)
     
    if __name__=='__main__':
        jeuTrtImages()

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    salut,

    Tu as commenté memoire_traitements ligne 93 donc, memoire_traitements n'existe pas.

    Pourquoi diable mets-tu des fonctions dans la fonction principale ?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,

    Ca se passe dans ces quelques lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
           if liste_traitements_joueur!=[]:
                result(liste_traitements_joueur,memoire_traitements)
            liste_2_traitements.sort()
            memoire_traitements=liste_2_traitements
            print("liste mémoire : ",memoire_traitements)
    Si la condition liste_traitements_joueur!=[] est vraie, on va accéder à la variable memoire_traitements. Cette variable n'est pas "locale" puisque vous y assignez quelque chose un peu plus tard. Et si elle n'est pas locale, impossible d'y assigner quoi que ce soit après sans avoir dit "nonlocal" ou "global".
    Essayez juste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> def g():
    ...     print(a)
    ...     a = 1
    ...
    >>> g()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<stdin>", line 2, in g
    UnboundLocalError: local variable 'a' referenced before assignment
    et ce peu importe que "a" existe dans le "scope" englobant la fonction.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Merci à vous mais
    Je pense que le problème est ailleurs. En effet si vous regardez bien, au premier passage (donc quand liste_traitements_joueur!=[] est fausse), memoire_traitements n'est pas encore définie mais dès le tour suivant elle est bien définie. On le voit d'ailleurs grâce aux PRINT inutile que j'ai mis pour afficher cette liste. En gros je peux l'afficher mais pas la comparer (dans le liste_traitements_joueur==memoire_traitements) ?!!

  5. #5
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut autre tentative
    j'ai essayé sans passer par la fonction result (voir plus bas). On j'obtiens encore :
    []
    True
    liste mémoire : [1, 3]
    là on voit bien que ça existe
    [1, 3]
    là c'est la réponse du joueur
    False
    la condition est fausse donc on peut entrer dans la comparaison des 2 listes
    joueur : [1, 3]
    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\EduPython\App\lib\tkinter\__init__.py", line 1538, in __call__
    return self.func(*args)
    File "C:\Users\Cathestef\Dropbox\Perso\StefAtWork\habilitation-ISN\projetTrtImagesSRoebroeck\JeuTrtImagesSR_essai.py", line 27, in start
    while game(compteur):
    File "C:\Users\Cathestef\Dropbox\Perso\StefAtWork\habilitation-ISN\projetTrtImagesSRoebroeck\JeuTrtImagesSR_essai.py", line 68, in game
    print("ordi : ",memoire_traitements)
    UnboundLocalError: local variable 'memoire_traitements' referenced before assignment


    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    #-*- coding: utf-8 -*-
    from tkinter import*
    from tkinter.filedialog import*
    from PIL import Image
    from random import*
    from math import*
    from fonctions_Tti import*
    import os
    import time
    import numpy as np
     
    def tirage(n,p):# parmi n transformations, on en choisit aléatoirement 4 (tirage sans remise)
        L1=[]
        for i in range(n):
            L1.append(i+1)
        L2=[]
        while len(L2)!=p:
            a=randint(1,len(L1))
            L2.append(L1[a-1])
            del(L1[a-1])
        return(L2)
     
    def jeuTrtImages():
        transformations=['filigrane','decoupeBandes_H','decoupeBandes_V']#,'symetrieAxe_H','symetireAxe_V','rotation+90']
        compteur=0
        def start():
            while game(compteur):
                pass
        def game(compt):
            c=compt
            liste_2_traitements=tirage(len(transformations),2)
            #on va chercher les images dans le bon dossier
            liste_photos=os.listdir("../projetTrtImagesSRoebroeck/Photos_Tti")
            #on tire au hasard la photo à traiter
            PhotoATraiter=liste_photos[randint(0,len(liste_photos))-1]
            im1 = Image.open(PhotoATraiter)
            im1.show()   #on affiche la photo à traiter
            time.sleep(0.5)
            liste_traitements_ordi=np.zeros(6)
            for i in range(len(transformations)):
                liste_traitements_ordi[liste_2_traitements[i-1]]=1
            chaine_traitements_ordi=str()
            liste_traitements_ordi=str(liste_traitements_ordi)
            for i in range(6):
                chaine_traitements_ordi=chaine_traitements_ordi+liste_traitements_ordi[i]
            for traitement in liste_2_traitements:
                im1=eval(transformations[traitement-1])(im1)
            im1.show()
            time.sleep(0.5)
            im1.close()
            liste_traitements_joueur=[]
            if choix_filigrane.get()==1:
                liste_traitements_joueur.append(1)
            if choix_decoupeBandes_H.get()==1:
                liste_traitements_joueur.append(2)
            if choix_decoupeBandes_V.get()==1:
                liste_traitements_joueur.append(3)
            if choix_symHoriz.get()==1:
                liste_traitements_joueur.append(4)
            if choix_symVert.get()==1:
                liste_traitements_joueur.append(5)
            if choix_rotation.get()==1:
                liste_traitements_joueur.append(6)
            print(liste_traitements_joueur)
            print(liste_traitements_joueur==[])
            if liste_traitements_joueur!=[]:
                print("joueur : ",liste_traitements_joueur)
                print("ordi : ",memoire_traitements)
                juste=(liste_traitements_joueur==memoire_traitements)
                new_score=joueur_score.get()
                new_score+=juste
                joueur_score.set(new_score)
            liste_2_traitements.sort()
            memoire_traitements=liste_2_traitements
            print("liste mémoire : ",memoire_traitements)
     
        def result(joueur,ordi):
            juste=True
            new_score=0
            print("Traitements ordi : ",ordi)
            print("Traitements joueur : ",joueur)
            juste=(joueur==ordi)
            new_score=joueur_score.get()
            new_score+=juste
            joueur_score.set(new_score)
     
        tti_window=Toplevel()
        tti_window.title("Imageometrix")
     
        choix_filigrane= IntVar()
        choix_decoupeBandes_H= IntVar()
        choix_decoupeBandes_V= IntVar()
        choix_symHoriz= IntVar()
        choix_symVert= IntVar()
        choix_rotation= IntVar()
        joueur_score= IntVar()
        #memoire_traitements=StringVar()
        #liste_2_traitements=StringVar()
        liste_traitements_ordi= StringVar()
        liste_traitements_joueur= StringVar()
        liste_traitements_joueur_vieux= StringVar()
     
        tti_frame=Frame(tti_window, width=300)
        tti_frame.grid(column=0, row=0, sticky=(N,W,E,S))
        tti_frame.columnconfigure(0, weight=1)
        tti_frame.rowconfigure(0,weight=1)
     
        Label(tti_frame, text='Cliquer sur le bouton "Lancer",\n observer les deux images attentivement\n puis cocher les transformations qui permettent\nde passer de l\'une à l\'autre.').grid(column=1,row=1, sticky=W)
        Checkbutton(tti_frame, text='effet filigrane', variable=choix_filigrane).grid(column=1, row=3,sticky=W)
        Checkbutton(tti_frame, text='découpe en bandes horizontales',variable=choix_decoupeBandes_H).grid(column=1, row=4,sticky=W)
        Checkbutton(tti_frame, text='découpe en bandes verticales',variable=choix_decoupeBandes_V).grid(column=1, row=5,sticky=W)
        Checkbutton(tti_frame, text='symétrie axe horizontale',variable=choix_symHoriz).grid(column=1, row=6,sticky=W)
        Checkbutton(tti_frame, text='symétrie axe verticale', variable=choix_symVert).grid(column=1, row=7,sticky=W)
        Checkbutton(tti_frame, text='rotation antihoraire de 90°',variable=choix_rotation).grid(column=1, row=8,sticky=W)
     
        Button(tti_frame, text="Lancer", command=start).grid(column=2, row=2)
     
        Label(tti_frame, text="Score").grid(column=1, row=9,sticky=W)
        Label(tti_frame, textvariable=joueur_score).grid(column=1, row=10,sticky=W)
     
    if __name__=='__main__':
        jeuTrtImages()

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Citation Envoyé par sroebroeck Voir le message
    Je pense que le problème est ailleurs.
    Croyez vous que Python lève une erreur juste pour vous embêter?

    Apprenez à comprendre comment çà fonctionne avec de petits exemples.
    Compliquons un peu le code précédent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     >>> def g(z):
    ...     if z:
    ...        print(a)
    ...     a = 1
    ...
    >>>
    Et puis, on le lance:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> g(0)
    >>> g(1)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<stdin>", line 3, in g
    UnboundLocalError: local variable 'a' referenced before assignment
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut j'ai compris votre exemple
    et je vous en remercie.
    Cependant je ne pense (ou plutôt je ne comprends pas mais je ne demande qu'à comprendre) en quoi mon code est semblable.
    la ligne73 (memoire_traitements=liste_2_traitements) intervient certes après la ligne 68 (print("ordi : ",memoire_traitements) et pour mais celle si n'intervient que si la condition "liste_traitements_joueur!=[]" est vraie c'est à dire pas au premier tour. Dès le deuxième (après avoir cliquer sur le bouton Lancer") la ligne 73 a bien affecté quelque-chose dans memoire_traitement.
    Je ne comprends donc toujours pas.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Si vous ne comprenez pas qu'une variable locale telle que "memoire_traitements" ne survit pas d'un appel à l'autre de la fonction game (parce qu'elle est locale), je ne peux pas grand chose pour vous.
    Désolé.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut ça y est j'ai compris !
    désolé pour la lenteur mais quand on est dans con programme on peut avoir du mal à sortir du rail.
    Que me conseillez-vous alors pour conserver ma liste d'un appel sur l'autre?

  10. #10
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut c'est bon
    j'ai mis global memoire_traitements et... ça le fait !!
    J'ai senti que vous avez pris sur vous.
    Désolé et un grand merci !

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Citation Envoyé par sroebroeck Voir le message
    j'ai mis global memoire_traitements et... ça le fait !!
    J'ai senti que vous avez pris sur vous.
    non, non... juste que "comprendre", c'est vos neurones qui connectent (ou pas) après çà prend le temps qu'il faut. Vous donner un grand coup de pied aux fesses plutôt que de me prendre le chou à essayer de vous expliquer fonctionne souvent (la preuve ).

    Ceci dit mettez votre code à plat (avec un seul niveau de fonction) et des variables globales (si nécessaire), vous aurez moins de soucis (en attendant d'avoir fait les premiers pas en POO).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  12. #12
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Happy end
    Je crois que je me suis trop basé sur un modèle déjà fait et, dans ce cas, on maîtrise moins bien les choses. Si on commence à s'y perdre, il faut, comme vous le dites, prendre du recul et revoir la globalité du projet.
    Encore merci pour les conseils.

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

Discussions similaires

  1. Type MIME non reconnu
    Par Shin_RockmanX dans le forum Apache
    Réponses: 1
    Dernier message: 01/06/2008, 21h16
  2. Type Text non reconnu dans Delphi
    Par dimi2 dans le forum Langage
    Réponses: 7
    Dernier message: 19/03/2008, 10h32
  3. reference d'un type enum non reconnue
    Par al3alwa dans le forum Langage
    Réponses: 6
    Dernier message: 26/02/2008, 11h44
  4. Variable de type liste
    Par fabaroulettes dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/12/2006, 10h53
  5. [C99] type ulong non reconnu
    Par jowo dans le forum C
    Réponses: 3
    Dernier message: 30/08/2006, 16h01

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