drawing a building by using python : I'm Creating a function to draw a office tower 
:windows are 20 pixels square
the gap between the windows is 10 pixels
the door is 20 pixels wide, 50 pixels tall, and orange.
I can't draw it properly and here is my code:

    from graphics import *
    from random import *

    def add_window(win, nH, nV):
    w, h = win.getWidth(), win.getHeight()
    
    rects = []
    for x in range(nH):
        rects.append([])
        for y in range(nV):
            r = Rectangle(Point( x   *w//nH,  y   *h//vV),
                          Point((x+1)*w//nH, (y+1)*h//nV))
            window = [ r,
                       True,
                       [ 'red', 'green' ]
                       ]            
            rects[x].append(window)
            rects[x][y][0].draw(win)
            rects[x][y][0].setOutline('blue')
            color = window[2][randint[0,1]]
            rects[x][y][0].setFill(color)
            
    return rects

    WIN_W, WIN_H = 500, 400

    #Top left coner of the building
    BLDG_LEFT, BLDG_TOP = 50, 50

    #How many floors, how many windows perfloor, window digit and gap
    FLOORS, WIN_FLR, WIN_SZ, GAP = 10, 5, 20, 5

    win = None

    #Syntax : window[x][y]
    #   [0] : Rectangle() object
    #   [1] : True/False
    windows = []
    #--------------------------------------------------------------------

    def draw_window(x, y):
        global windows
        windows = []
        left = BLDG_LEFT + GAP + x* (WIN_SZ+GAP)
        top =  BLDG_TOP  + GAP + y* (WIN_SZ+GAP)
        r = Rectangle(Point( x   *WIN_SZ+GAP,  y   *(WIN_SZ+GAP)),
                      Point((x+1)*WIN_SZ+GAP, (y+1)*(WIN_SZ+GAP)))
        windows[x][y].append(r)
        bit = randint(0,1)
        windows[x][y].append(bool(bit))
        windows[x][y][0].setFill(COLORS[bit])
        windows[x][y][0].draw(win)
              

    def draw_windows():
        for i in range(WIN_FLR):
            windows.append([])
            for j in range(FLOORS):
                windows[i].append([])
                draw_window(i, j)

    def office_tower():
        global win
        win = GraphWin("OFFICE TOWER", WIN_W, WIN_H)
        draw_window(1, 1)
    
        while True:
            pt = win.getmouse()
        
            if pt.x < 10 and pt.y < 10:
                break
        
            # windows coordinates
            x = int((pt.x - BLDG_LEFT - GAP)/(WIN_SZ + GAP))
            y = int((pt.y - BLDG_TOP  - GAP)/(WIN_SZ + GAP))
            print(str((pt.x, pt.y)) + ' --> ' + str((x, y)))
        
            windows[x][y][1] = netwindows[x][y][1]
            windows[x][y][0].setFill(COLORS[windows[x][y][1]])
    
    
    
    def draw_building():
    
        global windows
    
        win = GraphWin("OFFICE TOWER", WIN_W, WIN_H)
    
        N_H, N_V = 5, 10
    
        while True:
            pt = win.getMouse()
            m_x, m_y = pt.getX(), pt.getY()
        
            # Grid coordinates:
            g_x = m_x // (WIN_W//N_H)
            g_y = m_y // (WIN_H//N_V)
            # For development purposes:
        
            if m_x < 10 and m_y < 10:
                break