DM

missouh Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   -
bonjour j'ai un DM a faire mais je n'y arrive pas !
j'aimerais avoir de l'aide pour le faire...

voila le dm :

mport networkx as nx

class Graphe():

    def __init__(self):
        self.dico_graph={}

    def ajout_noeud(self, nd:str):
        '''ajoute un noeud au graphe'''
        self.dico_graph[nd_1] = []
        
    def ajoute_arete(self, nd_1:str,nd_2:str):
        '''ajoute une arête entre les noeud nd_1 et nd_2 '''
        self.dico_grpah[nd_1].append(nd_2)
        self.dico_grpah[nd_2].append(nd_1)
        pass

    def list_noeud(self) -> list:
        '''affiche la liste des noeuds'''
        
        pass

    def est_liee_2(self, nd_1: str, nd_2: str) -> bool:
        '''renvoie vrai si les deux noeuds sont reliés de nd_1 vers nd_2'''
        pass

    def est_liee_3(self, nd_1: str, nd_2: str, nd_3: str) -> bool:
        '''renvoie vrai si les trois noeuds sont reliés de nd_1 vers nd_2 puis nd_3'''

    def est_liee_symetriquement(self, nd_1: str, nd_2: str) -> bool:
        '''renvoie vrai si les deux noeuds sont reliés dans les deux sens'''
        pass

    def est_symetrique(self) -> bool:
        '''renvoie vrai si toutes les liaisons se font dans les deux sens'''
        pass



    def successeurs_list(self, nd: str) -> list:
        '''renvoie la liste des successeurs de à nd'''
        pass


    def predecesseurs_list(self, ville: str) -> list:
        '''renvoie la liste des predecesseurs de à ville'''
        pass

    def degre_sortant(self, nd: str) -> int:
        '''renvoie le degré sortant du noeud nd'''
        pass

    def degre_entrant(self, nd: str) -> int:
        '''renvoie le degré entrant du noeud nd'''
        pass

    def est_puits(self, nd: str) -> bool:
        '''renvoie vrai si aucun chemin ne part de nd: degré sortant nul'''
        pass

    def est_source(self, nd: str) -> bool:
        '''renvoie vrai si aucun n'arrive à nd : degré entrant nul'''
        pass

    def est_isole(self, nd: str) -> bool:
        '''renvoie vrai si nd est isolé'''
        pass

    def est_relie_a_tous_les_autres_noeuds(self, nd: str) -> bool:
        '''renvoie vrai si nd est relié à toutes les autres noeuds'''
        pass
    
    def matrice_adjacence(self):
        '''renvoie la matrice d'adjacence du graphe'''
    
    @staticmethod
    def creer_from_matrice(m:list):
        '''instancie un graphe de Graphe à partir de la matrice d'adjacence au format du TP précédent'''
        
    def dessine_graph(self):
        D = nx.DiGraph()
        for i in self.dico_graph.keys():
            D.add_node(i)
            for j in self.dico_graph[i]:
                D.add_edge(i, j)
        nx.draw(D, with_labels=True)
A voir également:

8 réponses

Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
0
missouh Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,

le problème est que je ne comprends pas ca et que je ne trouve rien sur internet,

ducoup je demande l'aide ( pas faire mon exercice) mais qu'on m'explique
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
ok

L'indentation étant importante en Python, merci de re poster ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci :

def test():
    print('test')

test()
0
missouh Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
    import networkx as nx


class Graphe():

def __init__(self):
self.dico_graph={}

def ajout_noeud(self, nd:str):
'''ajoute un noeud au graphe'''
self.dico_graph[nd_1] = []

def ajoute_arete(self, nd_1:str,nd_2:str):
'''ajoute une arête entre les noeud nd_1 et nd_2 '''
self.dico_grpah[nd_1].append(nd_2)
self.dico_grpah[nd_2].append(nd_1)
pass

def list_noeud(self) -> list:
'''affiche la liste des noeuds'''

pass

def est_liee_2(self, nd_1: str, nd_2: str) -> bool:
'''renvoie vrai si les deux noeuds sont reliés de nd_1 vers nd_2'''
pass

def est_liee_3(self, nd_1: str, nd_2: str, nd_3: str) -> bool:
'''renvoie vrai si les trois noeuds sont reliés de nd_1 vers nd_2 puis nd_3'''

def est_liee_symetriquement(self, nd_1: str, nd_2: str) -> bool:
'''renvoie vrai si les deux noeuds sont reliés dans les deux sens'''
pass

def est_symetrique(self) -> bool:
'''renvoie vrai si toutes les liaisons se font dans les deux sens'''
pass



def successeurs_list(self, nd: str) -> list:
'''renvoie la liste des successeurs de à nd'''
pass


def predecesseurs_list(self, ville: str) -> list:
'''renvoie la liste des predecesseurs de à ville'''
pass

def degre_sortant(self, nd: str) -> int:
'''renvoie le degré sortant du noeud nd'''
pass

def degre_entrant(self, nd: str) -> int:
'''renvoie le degré entrant du noeud nd'''
pass

def est_puits(self, nd: str) -> bool:
'''renvoie vrai si aucun chemin ne part de nd: degré sortant nul'''
pass

def est_source(self, nd: str) -> bool:
'''renvoie vrai si aucun n'arrive à nd : degré entrant nul'''
pass

def est_isole(self, nd: str) -> bool:
'''renvoie vrai si nd est isolé'''
pass

def est_relie_a_tous_les_autres_noeuds(self, nd: str) -> bool:
'''renvoie vrai si nd est relié à toutes les autres noeuds'''
pass

def matrice_adjacence(self):
'''renvoie la matrice d'adjacence du graphe'''

@staticmethod
def creer_from_matrice(m:list):
'''instancie un graphe de Graphe à partir de la matrice d'adjacence au format du TP précédent'''

def dessine_graph(self):
D = nx.DiGraph()
for i in self.dico_graph.keys():
D.add_node(i)
for j in self.dico_graph[i]:
D.add_edge(i, j)
nx.draw(D, with_labels=True)

    
0
missouh Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
je vous envoie ca

et oui cela ressemble a cela .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Ben .... pas vraiment

Compare ton dernier envoi et ma réponse d'avant

dans ton message, il n'y a ni couleurs, ni tabulations ....
def test():
    print('test')

test()


import networkx as nx

class Graphe():

def __init__(self):
self.dico_graph={}

def ajout_noeud(self, nd:str):

il suffit pourtant de copier le code dans ton message, sélectionner tout à la souris, cliquer l'icone "flèche pointe en bas" dans la barre d'icone, et de sélectionner Python
Quand tu valides ton message, alors le code apparait comme le mien
0
missouh Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
je vous ai envoyé le dm juste ne dessous si besoin
0
missouh Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
je vois je vais essayé de bien faire désolé
0
missouh Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
import networkx as nx

class Graphe():

    def __init__(self):
        self.dico_graph={}

    def ajout_noeud(self, nd:str):
        '''ajoute un noeud au graphe'''
        self.dico_graph[nd_1] = []
        
    def ajoute_arete(self, nd_1:str,nd_2:str):
        '''ajoute une arête entre les noeud nd_1 et nd_2 '''
        self.dico_grpah[nd_1].append(nd_2)
        self.dico_grpah[nd_2].append(nd_1)
        pass

    def list_noeud(self) -> list:
        '''affiche la liste des noeuds'''
        
        pass

    def est_liee_2(self, nd_1: str, nd_2: str) -> bool:
        '''renvoie vrai si les deux noeuds sont reliés de nd_1 vers nd_2'''
        pass

    def est_liee_3(self, nd_1: str, nd_2: str, nd_3: str) -> bool:
        '''renvoie vrai si les trois noeuds sont reliés de nd_1 vers nd_2 puis nd_3'''

    def est_liee_symetriquement(self, nd_1: str, nd_2: str) -> bool:
        '''renvoie vrai si les deux noeuds sont reliés dans les deux sens'''
        pass

    def est_symetrique(self) -> bool:
        '''renvoie vrai si toutes les liaisons se font dans les deux sens'''
        pass



    def successeurs_list(self, nd: str) -> list:
        '''renvoie la liste des successeurs de à nd'''
        pass


    def predecesseurs_list(self, ville: str) -> list:
        '''renvoie la liste des predecesseurs de à ville'''
        pass

    def degre_sortant(self, nd: str) -> int:
        '''renvoie le degré sortant du noeud nd'''
        pass

    def degre_entrant(self, nd: str) -> int:
        '''renvoie le degré entrant du noeud nd'''
        pass

    def est_puits(self, nd: str) -> bool:
        '''renvoie vrai si aucun chemin ne part de nd: degré sortant nul'''
        pass

    def est_source(self, nd: str) -> bool:
        '''renvoie vrai si aucun n'arrive à nd : degré entrant nul'''
        pass

    def est_isole(self, nd: str) -> bool:
        '''renvoie vrai si nd est isolé'''
        pass

    def est_relie_a_tous_les_autres_noeuds(self, nd: str) -> bool:
        '''renvoie vrai si nd est relié à toutes les autres noeuds'''
        pass
    
    def matrice_adjacence(self):
        '''renvoie la matrice d'adjacence du graphe'''
    
    @staticmethod
    def creer_from_matrice(m:list):
        '''instancie un graphe de Graphe à partir de la matrice d'adjacence au format du TP précédent'''
        
    def dessine_graph(self):
        D = nx.DiGraph()
        for i in self.dico_graph.keys():
            D.add_node(i)
            for j in self.dico_graph[i]:
                D.add_edge(i, j)
        nx.draw(D, with_labels=True)
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour Missouh,

OK

Et donc tu ne comprends pas ce que fait ce code ?

L'as-tu exécuté pour voir ?

C'est un DM, ton prof n'a pas donné de détails ?

Es tu allé voir sur Internet ce que fait la bibliothèque networkx ?

"NetworkX est un module python dédié à l’analyse de réseaux. Déconseillé comme outil d’apprentissage, il pourrait s’avérer utile pour des personnes plus expertes, notamment pour l’analyse des réseaux bipartis où le choix reste limité ....."

Pour débuter, il y a plus simple !
0