Python:条件OR

时间:2013-07-02 15:46:07

标签: python while-loop conditional-operator

我有以下while循环:

accuracy = 0.0001    #  Or whatever
loop_limit = True
limit = 100
#  Main loop:
while abs(P - P_old).max() > accuracy or (if loop_limit: count > limit):  

毋庸置疑,它不起作用。我想要的是,仅在or时才检查loop_limit = True语句。

我可以在if循环中放置while语句,只有在loop_limit = True时才会在循环的每次传递中重置count变量,但是必须在每次传递时检查loop_limit while循环,我想避免这种情况。 (循环将运行数百万次,并且每次保存都有帮助)。我觉得有一种巧妙的做法。

编辑:

请注意,(P - P_old)是一个numpy数组,因此.max()我忘了提及它,我现在不想删除它,因为它已经在答案中引用了。

1 个答案:

答案 0 :(得分:4)

试试这个:

while abs(P - P_old) > accuracy or (loop_limit and count > limit):

顺便问一下,max()应该做什么?它甚至没有编译......