我有一个循环,我只想在条件满足时输入一次,然后在变量值改变后再输入一次。
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循环。
1条答案
按热度按时间kx1ctssn1#
你用的是
break
,所以在得到增量后你会跳出循环,这就是为什么下一次循环不迭代,你可以用pass
代替。