Créer un arbre "dynamique"
Bonjour,
Je souhaiterai créé un arbre "dynamiquement" et ne sais pas trop comment m'y prendre.
Mon but est de modéliser une forêt en partant des éléments les plus gros, jusqu'au plus fin, sans savoir à l'avance leur nombre.
Je m'explique, je commence pas définir les arbres et leurs attributs propre, puis leurs branches, puis les feuilles etc...
Pour cela j'ai pensé créé des classes pour chacun des éléments et faire des liens entre elles
Code:
1 2 3 4 5 6 7 8 9 10 11
|
class arbre:
def __init__(self,nb_de_branche):
self.carac1 = 1
self.carac2 = 1
self.branche = branches() # probleme : comment cree x branche et qu'on puisse recuperer facilement leurs attributs
class branche:
def __init(self):
self.carac11 = 11
self.carac22 = 22 |
Mon but est ensuite de pouvoir accéder simplement aux éléments de chaque arbre depuis le main, puis faire quelque chose de la forme :
Code:
1 2 3
|
baobab = arbre(8)
A = MaFonction(baobab.branche5.carac11, baobab.carac2) #on prend en argument de fonction des caracteristique de l'arbre et de sa branche numero 5 |
J'ai essayé avec un dictionnaire mais je ne vois pas comment récupérer simplement ensuite les caractéristiques qui m'intéressent (dans une boucle en changeant de branche).
J'ai essayé aussi avec :
Code:
1 2 3 4 5 6 7 8 9
|
class arbre:
def __init__(self,nb_de_branche):
self.carac1 = 1
self.carac2 = 1
for i in range(nb_de_branche):
name = 'self.branche{}'.format(i+1)
value = branches()
locals()[name] = value |
Mais ça ne marche pas.
De même, je ne vois pas trop comment avoir ensuite un nom de variable qui change d'indice dans une boucle for dans mon main :?
Pouvez m'indiquer s'il y a une meilleur manière de faire ou comment résoudre mon problème?
Merci d'avance ! :D