Я пытаюсь написать небольшой код на python, чтобы раскрасить вершины графа и посчитать количество используемых цветов, чтобы никакие две соединенные вершины не имели одинаковый цвет.это мой код, и я не знаю, что с ним не так, любая помощь w?это не домашняя работа!
import networkx as nx
import matplotlib.pyplot as plt
G=nx.Graph()
colors = ['Red', 'Blue', 'Green', 'Yellow', 'Black','Pink','Orange','White','Gray','Purpul','Brown','Navy']
G.nodes = [1,2,3,4,5]
G.edges= [{1,5},{1,3},{1,2},{1,4},{4,5}]
colors_of_nodes={}
def coloring(node, color):
for neighbor in G.edges:
color_of_neighbor = colors_of_nodes(neighbor)
if color_of_neighbor == color:
return False
return True
def get_color_for_node(node):
for color in colors:
if coloring(node, color):
return color
def main():
for node in G.nodes:
colors_of_nodes[node] = get_color_for_node(node)
print colors_of_nodes
main()