首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何跳出嵌套的while循环

如何跳出嵌套的while循环
EN

Stack Overflow用户
提问于 2014-04-07 22:13:37
回答 3查看 1.9K关注 0票数 0

我很难挣脱出循环。这是我的密码

代码语言:javascript
复制
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 '!chosen has no data!'
        randx = random.randint(0, row-1)    #array begins at position 0,0
        randy = random.randint(0, col-1)
        continue

我需要做的是,if (ticker >= 121):被输入,我需要突破while stack:while(True).,对如何做到这一点有什么想法吗?

EN

Stack Overflow用户

发布于 2014-04-07 22:31:02

考虑一下已经提出的意见。另外,考虑一下while循环。而True:本质上是一个无限循环。您可以从函数中返回到调用方,您可以中断与循环相同的级别,或者用一个表达式替换True,该表达式在适当的条件下启动为True。

编辑:您不再使用Java或C语言编程了。没有必要在"True“旁边加上括号。-或其他条件。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22924087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档