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 :

Problem, utilise la même référence ?


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut Problem, utilise la même référence ?
    Bonjour,

    J'ai des coubes que je crée à partir de données contenues dans un fichier de la manière suivante :

    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
     
    curves = []					
    curvesDict = {} # initialise id = Curve
    for a in p_articles:
    	print "remplissage dic", a.id
    	curvesDict[int(a.id)] = Curve.Curve()
     
    print "dic", curvesDict
     
    time = 0 # TODO period
    for r in self.getStockReapro():	
    	print "line in stock reapro", r
    	for a in p_articles:						
    		if r['idArticle'] == a.id:				
    			print r['idArticle'], " = ", a.id
    			print "curve avant", curvesDict[int(a.id)].data
    			curvesDict[int(a.id)].addPoint(time, r['qteTo'])
    			print "curve apres", curvesDict[int(a.id)].data
    			time += 1	
    			break
    curves.extend(curvesDict.values())		
    print "Curve created in model", curves
    for c in curves:
    	print "curve = ", c.data
    return curves
    Le problème, c'est que quoi qu'il arrive r['idArticle] me renvoie toujours la même référence de Curve alors qu'elle devrait m'envoyer celle qui correspond depuis le dictionnaire ?

    Du coup, au lieu de remplir chacune des courbves, selon leur id, avec les points qu'il faut, je me retrouve avec deux courvbes à la fin avec toutes les données !!!???

    Voici, la trace :

    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
     
    remplissage dic 1
    remplissage dic 2
    dic {1: <Curve.Curve instance at 0x0292AE90>, 2: <Curve.Curve instance at 0x0292
    F148>}
    line in stock reapro {'date': '22/09/2011 14:31:14', 'idArticle': '1', 'qteTo':
    50, 'qteFrom': 0}
    1  =  1
    curve avant []
    curve apres [[0.0, 50.0]]
    line in stock reapro {'date': '22/09/2011 14:31:43', 'idArticle': '1', 'qteTo':
    3, 'qteFrom': 0}
    1  =  1
    curve avant [[0.0, 50.0]]
    curve apres [[0.0, 50.0], [1.0, 3.0]]
    line in stock reapro {'date': '23/09/2011 09:44:35', 'idArticle': '1', 'qteTo':
    10, 'qteFrom': 0}
    1  =  1
    curve avant [[0.0, 50.0], [1.0, 3.0]]
    curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0]]
    line in stock reapro {'date': '23/09/2011 09:46:18', 'idArticle': '1', 'qteTo':
    2, 'qteFrom': 0}
    1  =  1
    curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0]]
    curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0]]
    line in stock reapro {'date': '23/09/2011 09:46:23', 'idArticle': '1', 'qteTo':
    1, 'qteFrom': 0}
    1  =  1
    curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0]]
    curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0]]
    line in stock reapro {'date': '23/09/2011 09:56:03', 'idArticle': '2', 'qteTo':
    2, 'qteFrom': 0}
    2  =  2
    curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0]]
    curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
     2.0]]
    line in stock reapro {'date': '23/09/2011 09:56:07', 'idArticle': '2', 'qteTo':
    3, 'qteFrom': 0}
    2  =  2
    curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
     2.0]]
    curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
     2.0], [6.0, 3.0]]
    line in stock reapro {'date': '23/09/2011 09:56:12', 'idArticle': '2', 'qteTo':
    10, 'qteFrom': 0}
    2  =  2
    curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
     2.0], [6.0, 3.0]]
    curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
     2.0], [6.0, 3.0], [7.0, 10.0]]
    Curve created in model [<Curve.Curve instance at 0x0292AE90>, <Curve.Curve insta
    nce at 0x0292F148>]
    curve =  [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0, 2.
    0], [6.0, 3.0], [7.0, 10.0]]
    curve =  [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0, 2.
    0], [6.0, 3.0], [7.0, 10.0]]
    Il y a un probleme avec les références de Curve, mais je ne comprends pas du tout pourquoi ...

  2. #2
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Tu as bien deux objets Curve différents (les addresses ne sont pas les mêmes), et je ne vois rien qui cloche dans le code donné. Donc, à mon avis, le problème vient de la classe Curve elle même… Difficile d’en dire plus sans connaître son code.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut
    Vraiment désolée... je viens de trouver, en effet, c'était ailleurs dans mon code ou je ne dessine rien quand il y avait des courbes à afficher...
    Punaise, j'ai honte... Vraiment désolée... et merci !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/03/2006, 15h54
  2. D6/Interbase plusieurs fenêtres utilisant le même IBDataSet
    Par Y.Guillermin dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2006, 07h27
  3. Réponses: 3
    Dernier message: 26/10/2005, 10h24
  4. [Font] utiliser une même police sur Windows et sur Linux ?
    Par iubito dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 10/05/2005, 16h41
  5. utiliser le même fichier dans plusieurs projets vc++6
    Par yannick_sch dans le forum MFC
    Réponses: 5
    Dernier message: 12/02/2004, 17h39

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