Start Python 'while' loop before condition is defined
本问题已经有最佳答案,请猛点这里访问。
我有一段代码可以执行一个函数,然后根据这个输出决定它是否应该重复:
1 2 | while (function_output) > tolerance: function_output = function(x) |
问题是,在定义了"函数输出"之前,while循环不会启动——但它是在循环中定义的。现在我有:
1 2 3 | function_output = function(x) while (function_output) > tolerance: function_output = function(x) |
但是,有没有一种方法可以让这个循环在不必迭代函数一次的情况下启动呢?
在Python中没有这样的东西。既不是
1 2 | while (x = f() > 5): dostuff |
就像在
已经提出了类似的构造,但被拒绝了。你已经在做的是最好的方法。
另一方面,如果你想用
1 2 3 | while True: if f() > tolerance: break |
使用
1 2 3 | while True: if function_output(x) > tolerance: break |
这个样式怎么样?您可能需要选择一个更好的变量名。
1 2 3 | should_continue = True while should_continue: should_continue = ( function(x) > tolerance ) |