Всем добрый день! Сегодня я кратко расскажу как создать и нарисовать случайный неориентированный граф с помощью Networkx. Все выглядит примерно так: Строки 1-3: импортируем все необходимые зависимости. Строки 6-13: Создаем полный случайный граф. В функцию передаем 2 параметра - от них зависит размер графа. complete_graph(n) - это функция, создающая случайный полный граф на n вершинах. Здесь мы передаем в функцию случайное число от n до m. Функцией set_edge_attributes(G, name, value) мы для всех ребер графа создаем атрибут name и задаем ему значение value. Это вес ребер (для моей задачи нужен был знак, а не вес). В строках 10-11 мы проходимся в цикле по всем ребрам и задаем каждому из них случайный знак (1 или -1). Далее вызываем функцию отрисовки графа. Строки 16-24: В строке 17 мы создаем список с весами(знаками всех ребер). Строка 19 - позиционирование узлов. Существует несколько вариантов позиционирования, подробнее об этом можно почитать в официальной документации тут. Строки