【问题标题】:How to execute my if loop only once in python?如何在python中只执行一次我的if循环?
【发布时间】:2025-12-16 06:55:01
【问题描述】:

我正在使用 if-loop 向我的控制台下订单,但在满足条件后,它会被打印多次。

if len(pos_df.columns) == 0 and len(ord_df.columns) == 0:
   for i in range(0,len(bricks_counts)):
       if bricks_counts[i] == -23 and red_neg == True:
           placeCoverOrder(ticker,"sell",quantity,high_down)
           print("sell order placed {}".format(ticker))
           break

我希望这个循环只执行一次,这意味着它应该在第一次迭代中只运行一次,并且不应该在第二次迭代中运行(if-loop 在第二次迭代中应该变为假)。

任何帮助都会对我非常有帮助,必须感谢。 添加一些额外的代码行也将被接受。 :)

【问题讨论】:

  • placeCoverOrder() 方法里面有什么?它会调用这段代码吗?
  • 你还有其他包含print("sell order placed {}".format(ticker))的代码块吗?
  • Yes placeCoverOrder() 在 if-loop 为 True 时调用此代码块。

标签: python pandas if-statement while-loop nested-loops


【解决方案1】:

您可以在 for 循环中使用 enumerate (idx,val) ,您可以在其中获取索引并确保在更新然后返回时它的值。我不太确定这是否正确。

【讨论】:

  • 嘿,你能用一些代码作为例子解释一下吗?
  • strrl = ['A','B','C','D'] for sidx,sval in enumerate(strrl): if sidx == 0: print(sval) else: break
  • 这是什么,我只使用循环的第一次迭代,你可以为此编写自己的逻辑,除了它会中断。