2
我有一个validate_until_true
函数,它轮询函数的返回值,直到它满足给定的条件或超时。lambda的字符串表示
from collections import namedtuple
import time
A = namedtuple("A", "a b c")
def validate_until_true(f, condition, timeout):
t = time.time() + timeout
while time.time() < t:
v = f()
if condition(v): return True
time.sleep(1)
return False
class Test:
def __init__(self, param):
self.param=param
def test(self):
f = lambda: A(1,2,3)
print(validate_until_true(f, lambda v: v.a!=self.param and v.b==2, 2))
Test(1).test()
如果validate_until_true
返回False,我希望能够打印一条消息。
是否有可能沿的线条打印的东西: “VA = 2和VB == 2”
条件没有得到满足,V的值有: A = 1, b = 2,c = 3
我该怎么做?