Hi there, Im writing a program that takes a function and makes a plot of it. the program consists of 2 functions and each creates its own GraphWin. However i want to have a mouse click at the end close both windows. So i returned the window from the first function which i thought should allow it to be accessed and the close() method called, but I keep getting the error, "NameError: global name 'graph' is not defined." I am not sure what I am doing wrong because all the rest works fine. Any help would be appreciated and thank you in advance.
This is my code so far
from graphics import * from math import * def plot_it(x_start, x_end, y_start, y_end, f_of_x): x_start = float(x_start.getText()) x_end = float(x_end.getText()) y_start = float(y_start.getText()) y_end = float(y_end.getText()) f_of_x = f_of_x.getText() graph = GraphWin('Plot of f(x)', 400, 400) graph.setCoords(x_start, y_start, x_end, y_end) graph.setBackground('white') N = 101 delta = (x_end - x_start) / (N - 1) points =  for i in range(N): x = x_start + i * delta y = eval(f_of_x) p = Point(x, y) points.append(p) for q in range(len(points) - 1): Line(points[q], points[q+1]).draw(graph) return graph def main(): win = GraphWin('Control', 400, 400) win.setCoords(0.0, 0.0, 2.0, 2.0) win.setBackground('white') Text(Point(0.25, 1.75), 'X start: ').draw(win) Text(Point(0.25, 1.5), 'X end: ').draw(win) Text(Point(1.25, 1.75), 'Y start: ').draw(win) Text(Point(1.25, 1.5), 'Y end: ').draw(win) Text(Point(0.40, 0.75), 'F(x): ').draw(win) x_start = Entry(Point(0.85, 1.75), 10) x_start.setText('0.0') x_start.draw(win) x_end = Entry(Point(0.85, 1.5), 10) x_end.setText('0.0') x_end.draw(win) y_start = Entry(Point(1.75, 1.75), 10) y_start.setText('0.0') y_start.draw(win) y_end = Entry(Point(1.75, 1.5), 10) y_end.setText('0.0') y_end.draw(win) f_of_x = Entry(Point(1.0, 0.75), 20) f_of_x.setText('Enter a function') f_of_x.draw(win) t = Text(Point(1.0, 0.25), 'Plot f(x)') t.draw(win) Polygon(Point(0.75, 0.15), Point(0.75, 0.35), Point(1.25, 0.35), Point(1.25, 0.15)).draw(win) win.getMouse() plot_it(x_start, x_end, y_start, y_end, f_of_x) t.setText('Close window') win.getMouse() win.close() graph.close() main()