<i id='HEWPC'><tr id='HEWPC'><dt id='HEWPC'><q id='HEWPC'><span id='HEWPC'><b id='HEWPC'><form id='HEWPC'><ins id='HEWPC'></ins><ul id='HEWPC'></ul><sub id='HEWPC'></sub></form><legend id='HEWPC'></legend><bdo id='HEWPC'><pre id='HEWPC'><center id='HEWPC'></center></pre></bdo></b><th id='HEWPC'></th></span></q></dt></tr></i><div id='HEWPC'><tfoot id='HEWPC'></tfoot><dl id='HEWPC'><fieldset id='HEWPC'></fieldset></dl></div>

    <small id='HEWPC'></small><noframes id='HEWPC'>

  • <tfoot id='HEWPC'></tfoot>
    • <bdo id='HEWPC'></bdo><ul id='HEWPC'></ul>

        <legend id='HEWPC'><style id='HEWPC'><dir id='HEWPC'><q id='HEWPC'></q></dir></style></legend>

        return True 在 Python 中停止循环?

        return True stop the loop in Python?(return True 在 Python 中停止循环?)
        <tfoot id='1wgqQ'></tfoot>

            <i id='1wgqQ'><tr id='1wgqQ'><dt id='1wgqQ'><q id='1wgqQ'><span id='1wgqQ'><b id='1wgqQ'><form id='1wgqQ'><ins id='1wgqQ'></ins><ul id='1wgqQ'></ul><sub id='1wgqQ'></sub></form><legend id='1wgqQ'></legend><bdo id='1wgqQ'><pre id='1wgqQ'><center id='1wgqQ'></center></pre></bdo></b><th id='1wgqQ'></th></span></q></dt></tr></i><div id='1wgqQ'><tfoot id='1wgqQ'></tfoot><dl id='1wgqQ'><fieldset id='1wgqQ'></fieldset></dl></div>
            • <small id='1wgqQ'></small><noframes id='1wgqQ'>

                <bdo id='1wgqQ'></bdo><ul id='1wgqQ'></ul>

                    <tbody id='1wgqQ'></tbody>
                  <legend id='1wgqQ'><style id='1wgqQ'><dir id='1wgqQ'><q id='1wgqQ'></q></dir></style></legend>
                  本文介绍了return True 在 Python 中停止循环?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我仍然是初学者,但不知道为什么for 循环"中的return True"会在第一次通过后停止循环.如果我使用return"以外的其他东西,一切都很好.

                  I am still a beginner but does not know why the "return True" in a "for loop" stop the loop after the first pass. If I use something else than "return", everything is fine.

                  def roc_valid(self,cote_x,cote_y):
                      from graph_chess import board
                      p = board()
                      side=(side_x,side_y)
                  
                      if side == (0,0):
                          for (x,y) in (0,1),(0,2),(0,3):
                              print(King.ok_to_move(self,x,y))
                              if p.getPiece(x,y)=="" and king.ok_to_move(self,x,y):
                                  return True
                  

                  推荐答案

                  您可以使用 yield 语句.return 语句会停止函数并立即返回值,而 yield 语句将返回值并从离开的地方继续.

                  You can use the yield statement. A return statement stops the function and immediately and returns the value while yield statement will return the value and but continues where it left.

                  if side == (0,0):
                      for (x,y) in (0,1),(0,2),(0,3):
                          print(King.ok_to_move(self,x,y))
                          if p.getPiece(x,y)=="" and king.ok_to_move(self,x,y):
                              yield True
                  

                  现在使用:list(roc_valid(self,cote_x,cote_y)) 获取所有返回值的列表,或者只是next(roc_valid(self,cote_x,cote_y))code> 只获取第一个值.

                  Now use: list(roc_valid(self,cote_x,cote_y)) to get a list of all returned values or just next(roc_valid(self,cote_x,cote_y)) to get only the first value.

                  演示:

                  def func():
                      for i in xrange(5):
                          if i % 2: 
                              yield True
                  ...             
                  >>> list(func())          #all returned values
                  [True, True]
                  >>> next(func())          #Just the first returned value
                  True
                  

                  相关:Python yield 关键字解释

                  Related: The Python yield keyword explained

                  这篇关于return True 在 Python 中停止循环?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Initialize Multiple Numpy Arrays (Multiple Assignment) - Like MATLAB deal()(初始化多个 Numpy 数组(多重赋值) - 像 MATLAB deal())
                  How to extend Python class init(如何扩展 Python 类初始化)
                  What#39;s the difference between dict() and {}?(dict() 和 {} 有什么区别?)
                  What is a wrapper_descriptor, and why is Foo.__init__() one in this case?(什么是 wrapper_descriptor,为什么 Foo.__init__() 在这种情况下是其中之一?)
                  Initialize list with same bool value(使用相同的布尔值初始化列表)
                  setattr with kwargs, pythonic or not?(setattr 与 kwargs,pythonic 与否?)

                          <bdo id='bq2bt'></bdo><ul id='bq2bt'></ul>
                          <legend id='bq2bt'><style id='bq2bt'><dir id='bq2bt'><q id='bq2bt'></q></dir></style></legend>
                            <tbody id='bq2bt'></tbody>
                            <i id='bq2bt'><tr id='bq2bt'><dt id='bq2bt'><q id='bq2bt'><span id='bq2bt'><b id='bq2bt'><form id='bq2bt'><ins id='bq2bt'></ins><ul id='bq2bt'></ul><sub id='bq2bt'></sub></form><legend id='bq2bt'></legend><bdo id='bq2bt'><pre id='bq2bt'><center id='bq2bt'></center></pre></bdo></b><th id='bq2bt'></th></span></q></dt></tr></i><div id='bq2bt'><tfoot id='bq2bt'></tfoot><dl id='bq2bt'><fieldset id='bq2bt'></fieldset></dl></div>
                          1. <small id='bq2bt'></small><noframes id='bq2bt'>

                          2. <tfoot id='bq2bt'></tfoot>