DM

Fermé
missouh Messages postés 15 Date d'inscription lundi 26 octobre 2020 Statut Membre Dernière intervention 27 octobre 2020 - Modifié le 27 oct. 2020 à 10:23
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 27 oct. 2020 à 10:14
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)

8 réponses

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
26 oct. 2020 à 11:01
0
missouh Messages postés 15 Date d'inscription lundi 26 octobre 2020 Statut Membre Dernière intervention 27 octobre 2020
26 oct. 2020 à 11:03
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 lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
26 oct. 2020 à 11:04
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 lundi 26 octobre 2020 Statut Membre Dernière intervention 27 octobre 2020
26 oct. 2020 à 11:05
    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 lundi 26 octobre 2020 Statut Membre Dernière intervention 27 octobre 2020
26 oct. 2020 à 11:05
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 lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 26 oct. 2020 à 11:11
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 lundi 26 octobre 2020 Statut Membre Dernière intervention 27 octobre 2020
27 oct. 2020 à 08:42
je vous ai envoyé le dm juste ne dessous si besoin
0
missouh Messages postés 15 Date d'inscription lundi 26 octobre 2020 Statut Membre Dernière intervention 27 octobre 2020
26 oct. 2020 à 11:10
je vois je vais essayé de bien faire désolé
0
missouh Messages postés 15 Date d'inscription lundi 26 octobre 2020 Statut Membre Dernière intervention 27 octobre 2020
26 oct. 2020 à 11:12
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 lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
27 oct. 2020 à 10:14
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