I am having trouble breaking out of while loops. Here is my code
while (True):
    if (dem_arr[randx, randy] > -100):
        ticker = 0
        while stack:
            x, y = stack.pop()
            mask[x, y] = True
            for dx, dy in neighbors:
                nx, ny = x + dx, y + dy
                print ticker
                if (0 <= nx < dem_arr.shape[0] and 0 <= ny < dem_arr.shape[1] and dem_arr[x, y] > -100 and dem_arr[nx, ny] > -100 and not mask[nx, ny] and abs(dem_arr[nx, ny] - dem_arr[x, y]) <= 1):    #set elevation differnce
                    stack.append((nx, ny))  #if point is selected (true) array position gets added to stack and process runs over again
                    if ((nx, ny) not in counterStack):
                        counterStack.append((nx, ny)) 
                        dem_copy[(nx, ny)] = 8888
                        if (ticker >= 121):
                            print 'ticker ticked'
                            #if in this for loop need to break out of while stack:
                        else:
                            ticker += 1
    else:   
        print '!!!Point chosen has no data!!!'
        randx = random.randint(0, row-1)    #array begins at position 0,0
        randy = random.randint(0, col-1)
        continue
What I need to happen is if (ticker >= 121):is entered I need to break out of the while stack:and while(True).Any ideas on how to do this?
 
     
     
     
    