not part of the original specification this method is just helper function that executes the four lines of code necessary to draw each of the seven pips since this is function that is only useful within the dieview classit is appropriate to make it class method inside the constructorit is invoked by lines such as self __makepip(cxcymethod names beginning with single or double underscore are used in python to indicate that method is "privateto the class and not intended for use by outside programs the main program now we are ready to write our main program the button and dieview classes are imported from their respective modules here is the program that uses our new widgetsroller py graphics program to roll pair of dice uses custom widgets button and dieview from random import randrange from graphics import graphwinpoint from button import button from dieview import dieview def main()create the application window win graphwin("dice roller"win setcoords( win setbackground("green "draw the interface widgets die dieview(winpoint( , ) die dieview(winpoint( , ) rollbutton button(winpoint( , ) "roll dice"rollbutton activate(quitbutton button(winpoint( , ) "quit"event loop pt win getmouse(while not quitbutton clicked(pt)if rollbutton clicked(pt)value randrange( , die setvalue(value value randrange( ,