Besoin d'aide / de pistes pour un projet
Moreo
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis actuellement sur un projet scolaire où je dois créer une fonction qui affiche ( via turtle ) un arbre binaire créé en POO et rentré au préalable en paramètre. Ça fait plusieurs heures qu'on est dessus avec des camarades mais on ne parvient toujours pas à trouver un moyen d'agencer les différents noeuds comme ils devraient être. Si quelqu'un peut aider ce serait adorable, merci.
Je suis actuellement sur un projet scolaire où je dois créer une fonction qui affiche ( via turtle ) un arbre binaire créé en POO et rentré au préalable en paramètre. Ça fait plusieurs heures qu'on est dessus avec des camarades mais on ne parvient toujours pas à trouver un moyen d'agencer les différents noeuds comme ils devraient être. Si quelqu'un peut aider ce serait adorable, merci.
from turtle import *
from collections import deque
class Arbre:
def __init__(self,value,left=None,right=None):
self.value = value
self.left = left
self.right = right
def FaireArbre(self,value,gauche,droit):
return Arbre(value,gauche,droit)
def EstFeuille(self):
return self.left == None and self.right == None
def EstArbreVide(self):
if self == None:
return True
return False
def Hauteur(self):
if self.EstArbreVide() :
return -1
elif self.estFeuille() :
return 0
elif self.left == None:
return 1 + self.right.Hauteur()
elif self.right == None:
return 1 + self.left.Hauteur()
else :
return 1 + max(self.left.Hauteur(),self.right.Hauteur())
def ParcoursSuffixe(arbre):
if arbre!= None:
ParcoursSuffixe(arbre.left)
ParcoursSuffixe(arbre.right)
CercleNombre(25, arbre.value)
forward(50)
def Afficher(arbre):
ParcoursSuffixe(arbre)
exitonclick()
def CercleNombre(radius, val):
pendown()
circle(radius)
penup()
left(180)
forward(radius/3.571428)
right(90)
forward(radius/6.25)
pendown()
write(val, font=("Times New Roman", radius))
penup()
left(180)
forward(radius/6.25)
left(90)
forward(radius/3.571428)
arbre=Arbre(5,Arbre(3,Arbre(1),Arbre(2)),Arbre(12,Arbre(7),Arbre(11)))
Configuration: Windows / Opera 73.0.3856.415
A voir également:
- Besoin d'aide / de pistes pour un projet
- Filigrane projet - Guide
- Gant projet - Télécharger - Gestion de projets
- Comment projeter une image sur un mur - Forum Matériel & Système
- Musique projet x - Forum Musique / Radio / Clip
- Projet x film ✓ - Forum Musique / Radio / Clip
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
ne n'est pas un projet facile pour des débutants.
que faut-il ajouter pour que les nœuds soient bien agencés?
ne n'est pas un projet facile pour des débutants.
que faut-il ajouter pour que les nœuds soient bien agencés?