我有以下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()
我忘了提及它,我现在不想删除它,因为它已经在答案中引用了。
答案 0 :(得分:4)
试试这个:
while abs(P - P_old) > accuracy or (loop_limit and count > limit):
顺便问一下,max()
应该做什么?它甚至没有编译......