view RegularGraphTest.py @ 10:aea27d10dd18

Chapter 2.7, exercise 7; a generator to create identifiers.
author Brian Neal <bgneal@gmail.com>
date Mon, 03 Dec 2012 19:49:23 -0600
parents 8e44660965ef
children
line wrap: on
line source
"""Tests our regular graph making abilities by displaying examples.

"""
import string

from Graph import Vertex, Graph, GraphError
from GraphWorld import GraphWorld, CircleLayout

def main(script_name, n, k):

    # Attempt to create a regular graph of order n and degree k

    n, k = int(n), int(k)

    labels = string.ascii_lowercase + string.ascii_uppercase
    vs = [Vertex(c) for c in labels[:n]]

    # create graph and layout
    g = Graph(vs)
    g.add_regular_edges(k)
    layout = CircleLayout(g)

    # draw the graph

    gw = GraphWorld()
    gw.show_graph(g, layout)
    gw.mainloop()


if __name__ == '__main__':
    import sys
    try:
        main(*sys.argv)
    except GraphError, ex:
        sys.stderr.write("GraphError: {}\n".format(ex))