`` python
Importer matplotlib.pyplot som PLT
Importer Networkx som NX
def create_graph ():
"" "
Ber brukeren om å legge inn kantene på en graf og returnerer en NetworkX -graf.
"" "
graf =nx.graph ()
Mens sant:
Edge_Input =input ("Enter Edge (Format:Node1 Node2) eller 'Done':")
IF edge_input.lower () =="Ferdig":
brudd
prøve:
Node1, Node2 =edge_input.split ()
Graph.Add_Edge (Node1, Node2)
unntatt ValueError:
Print ("Ugyldig kantformat. Bruk 'Node1 Node2'.")
Returgraf
Def Draw_graph (graf):
"" "
Tegner den gitte NetworkX -grafen ved hjelp av matplotlib.
"" "
nx.draw (graf, med_labels =true, node_color ='LightBlue', Node_Size =500, Font_Size =10, Font_Color ='Black')
plt.show ()
if __name__ =="__main__":
graf =create_graph ()
Draw_graph (graf)
`` `
Forklaring:
1. Importer nødvendige biblioteker:
- `matplotlib.pyplot` for plotting
- `NetworkX` for grafoperasjoner
2. `create_graph ()` funksjon:
- Initialiserer en tom NetworkX -graf.
- går inn i en sløyfe:
- ber brukeren om å legge inn en kant i formatet "Node1 Node2".
- Hvis brukeren går inn "ferdig", bryter sløyfen.
- Ellers deler den inngangen i to noder og legger kanten til grafen.
- Håndterer potensiell `ValueError` hvis inngangen ikke er i riktig format.
- Returnerer den opprettede grafen.
3. `Draw_graph ()` Funksjon:
- Tar en NetworkX -graf som input.
- bruker `nx.draw ()` for å tegne grafen:
- `with_labels =true` viser nodetiketter.
- `node_color`,` node_size`, `font_size`, og` font_color` tilpasser utseendet.
- `plt.show ()` viser det genererte plottet.
4. hovedblokk (`hvis __name__ ==" __main __ ":`)
- Ringer `create_graph ()` for å få den brukerdefinerte grafen.
- Ringer `Draw_graph ()` For å vise grafen.
Hvordan bruke:
1. Kjør manuset.
2. Programmet ber deg om å legge inn kanter i formatet "Node1 Node2".
3. Skriv inn kantene én om gangen, trykker Enter etter hver.
4. Når du er ferdig, skriv "Done" og trykk Enter.
5. Programmet vil deretter generere en grafvisualisering ved hjelp av matplotlib.
Eksempel på inngang/utgang:
Input:
`` `
A b
B c
C a
Ferdig
`` `
Output:
En graf med tre noder (a, b, c) som er koblet i en trekantet form, vises.