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 :

Problème avec arbre binaire


Sujet :

Python

  1. #1
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    635
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 635
    Par défaut Problème avec arbre binaire
    Bonjour,

    J'essaie de réaliser un arbre binaire avec python, mais la dernière ligne ne fonctionne pas, c'est la ligne qui est censée retourner le résultat sous la forme d'un tuple...
    Si vous avez une idée du problème, merci d'avance.

    Source utilisée :


    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
    class Noeud:
     
        def __init__ (self, valeur):
            self.valeur = valeur
            self.enfant_gauche = None
            self.enfant_droit = None
     
        def insert_gauche(self, valeur):
            if self.enfant_gauche == None:
                self.enfant_gauche = Noeud(valeur)
            else:
                new_noeud = Noeud(valeur)
                new_noeud.enfant_gauche = self.enfant_gauche
                self.enfant_gauche = new_node
     
        def insert_droite(self, valeur):
            if self.enfant_droit == None:
                self.enfant_droit = Noeud(valeur)
            else:
                new_noeud = Noeud(valeur)
                new_noeud.enfant_droit = self.enfant_droit
                self.enfant_droit = new_node
     
        def get_valeur(self):
            """ Getter de la valeur du noeud """
            return self.valeur
     
        def get_gauche(self):
            """ Getter du sous arbre gauche du noeud en cours. """
            return self.enfant_gauche
     
        def get_droite(self):
            """ Getter du sous arbre droite du noeud en cours. """
            return self.enfant_droite
     
        def affiche(arbre):
     
            if arbre != None:
               return (arbre.get_valeur(), affiche(arbre.get_gauche()), affiche(arbre.get_droite()))
     
    racine = Noeud('A')
    racine.insert_gauche('B')
    racine.insert_droite('C')
     
    affiche(racine)

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Hello,

    On est bien d'accord que c'est une erreur de frappe ?

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 540
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 540
    Par défaut
    la fonction affiche est ici dans ta classe (à cause de l'indentation), elle ne peut être appelé que via ta classe.
    et erreur de nom de variable enfant_droit/enfant_droite
    et surtout il n'y aucun affichage de demander

    Donc par rapport à la vidéo, 3 "erreurs de frappe"

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par dominos Voir le message
    Si vous avez une idée du problème, merci d'avance.
    Il faut maîtriser quelques bases même pour recopier du code, sinon c'est juste de charabia sans intérêt...

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

  5. #5
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    635
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 635
    Par défaut
    Citation Envoyé par umfred Voir le message
    la fonction affiche est ici dans ta classe (à cause de l'indentation), elle ne peut être appelé que via ta classe.
    et erreur de nom de variable enfant_droit/enfant_droite
    et surtout il n'y aucun affichage de demander

    Donc par rapport à la vidéo, 3 "erreurs de frappe"
    Merci, ça fonctionne impeccable ça me permet de comprendre mes erreurs.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par dominos Voir le message
    Merci, ça fonctionne impeccable ça me permet de comprendre mes erreurs.
    Il serait plus judicieux d'essayer de comprendre le message d'erreur qu'affiche Python.

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

  7. #7
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    635
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 635
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Il serait plus judicieux d'essayer de comprendre le message d'erreur qu'affiche Python.

    - W
    Vous auriez pu tout autant faire l'effort d'expliquer à un débutant comme moi, plutôt que de vous l'a jouer expert de je sais pas quoi et faire augmenter votre score de posts pour rien dire, ce que umfred a su faire parfaitement ; d'où le pouce négatif.

    Cordialement.

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par dominos Voir le message
    Vous auriez pu tout autant faire l'effort d'expliquer à un débutant comme moi, plutôt que de vous l'a jouer expert de je sais pas quoi et faire augmenter votre score de posts pour rien dire, ce que umfred a su faire parfaitement ; d'où le pouce négatif.
    Manifestement, vous n'avez jamais vu NameError alors que dès qu'on essaie de faire les exercices proposés par n'importe quel bon tuto, on fera des boulettes/"typos" qui nous permettrons de le rencontrer et savoir que faire (il sera plus simple de lancer son programme pour voir plutôt que de le relire 3 fois pour vérifier que...).

    Hélas vous êtes supposé avoir ouvert un tuto pour apprendre les bases avant de poster ici: (re)voir les règles que vous avez accepté de suivre en devenant membre du club.

    Pour le reste vous pouvez toujours la jouer au client pas content du service rendu mais à partir du moment ou vous ne respectez les règles du vivre ensemble ici, c'est juste risible.

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

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 23/05/2008, 13h55
  2. Afficher un arbre binaire avec sa structure
    Par PhoneKilleR dans le forum C
    Réponses: 7
    Dernier message: 23/04/2008, 23h24
  3. Arbre binaire: Ajout précis avec récursion
    Par loic911 dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 22/03/2008, 10h40
  4. probléme avec arbre binaire
    Par lanageuse56 dans le forum C
    Réponses: 13
    Dernier message: 17/05/2007, 16h50
  5. Arbre binaire avec la STL ?
    Par SteelBox dans le forum SL & STL
    Réponses: 9
    Dernier message: 10/11/2004, 13h22

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