pandas 仅进入循环一次,然后在一段时间后

jv4diomz  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(166)

我有一个循环,我只想在条件满足时输入一次,然后在变量值改变后再输入一次。

class OMS:

    timeframe_check = 1
    
    def upside_ex(self,tickers):
        for ticker in tickers:
            try:
                order_placed = False
                    if self.timeframe_check == latest_time:
                       if order_check_1st_sca == True and not order_placed:
                          self.PlaceOptionOrderBuy(tickers,"buy",quantity)
                          order_placed = True
                       if order_check_1st == True and not order_placed:
                           self.PlaceOptionOrderBuy(tickers,"buy",quantity)
                           order_placed = True
                    else:
                        order_placed = False
                        self.timeframe_check += 1
                        print(self.timeframe_check , "this is timeframe_check from else which got incremented")
                        break
            except Exception as e:
                print(e)
                pass

我想在timex_check和latest_time相等的时候进入if循环,并使order_placed为true,这样它就不会进入循环,除非它再次为false。
但问题是在第一次迭代中,它进入了if循环,但当第二次迭代时,它只进入了else循环,并进行了递增,递增后,它应该再次进入if循环,但它没有按预期进行。
因为它同时显示timem_check为1,并且在else循环中,timem_chcek在递增后显示为2,但是为什么它在递增后没有进入if循环。

kx1ctssn

kx1ctssn1#

你用的是break,所以在得到增量后你会跳出循环,这就是为什么下一次循环不迭代,你可以用pass代替。

相关问题