Консольный ввод вершин и рёбер графа

Как можно реализовать ввод пользователем в консоли вершин и рёбер графа, при этом используя библиотеку NetworkX? Т.е. у нас есть обычный граф G = nx.Graph(), и пользователь сам должен ввести его элементы.


Ответы (1 шт):

Автор решения: David

Вы можете сделать простое меню с выбором, пример кода:

G = nx.Graph()

while True:
    print('Выберите действие:\n  1: Добавить вершину\n  2: Добавить ребро\n  0: Завершить')
    choice = int(input('Ваш выбор: '))
    if choice == 1:
        value = int(input('Введите значение для новой вершины: '))
        G.add_node(value)
    elif choice == 2:
        value1 = int(input('Введите первое значение нового ребра: '))
        value2 = int(input('Введите второе значение нового ребра: '))
        G.add_edge(value1, value2)
    elif choice == 0:
        break
    else:
        print('Неверный выбор, попробуйте снова.\n')

Это код без дополнительных проверок на верность введённых значений. Вы можете так-же добавить и их.

→ Ссылка