Python:如何从条件语句返回结果,然后让它重新输入条件语句

Python:如何从条件语句返回结果,然后让它重新输入条件语句,python,if-statement,Python,If Statement,提前谢谢你的帮助。我的if-else语句有问题。下面是我的代码。基本上,如果输入了else:,则表示没有数据,我的其余代码不应运行。我需要做的是当输入else:时,我需要它返回新的randx和randy值,然后将这些值输入if(dem_arr[randx,randy]>-100):。我试过使用while,但没有成功 neighbors = [(-1,-1), (-1,0), (-1,1), (0,1), (1,1), (1,0), (1,-1), (0,-1)] mask = np.zeros_

提前谢谢你的帮助。我的if-else语句有问题。下面是我的代码。基本上,如果输入了
else:
,则表示没有数据,我的其余代码不应运行。我需要做的是当输入
else:
时,我需要它返回新的randx和randy值,然后将这些值输入
if(dem_arr[randx,randy]>-100):
。我试过使用while,但没有成功

neighbors = [(-1,-1), (-1,0), (-1,1), (0,1), (1,1), (1,0), (1,-1), (0,-1)]
mask = np.zeros_like(dem_arr, dtype = bool)
stack = [(randx, randy)] # push start coordinate on stack
counterStack = [(randx, randy)]

if (dem_arr[randx, randy] > -100):
    count = 0
    while count <= 121:
        x, y = stack.pop()
        mask[x, y] = True
        for dx, dy in neighbors:
            nx, ny = x + dx, y + dy
            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]) <= 5):    #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
                    dem_copy[randx, randy] = 8888
                    count += 1
else:   #if enters else then need new randx and new randy points need to be returned and re-enter the above if(dem_arr...)
    print 'Point chosen has no data'
    randx = random.randint(0, row-1)
    randy = random.randint(0, col-1)
邻居=[(-1,-1),(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1)]
掩码=np.类零(dem\u arr,dtype=bool)
堆栈=[(randx,randy)]#在堆栈上按开始坐标
反钉=[(randx,randy)]
如果(dem_arr[randx,randy]>-100):
计数=0

而count则像这样修改代码

之前:

if (dem_arr[randx, randy] > -100):
    ...
else:
    ...
之后:

while(True):
    if (dem_arr[randx, randy] > -100):
        ...
        break#break from this while-loop.
    else:
        ...
        continue#go back and continue this while-loop.

您可以使用
while
break
continue
来完成。我无法正确构造while、break、continue语句。你能提供一个例子或者告诉我在我的代码中我需要在哪里输入这些语句吗?谢谢你的建议!