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
我該怎麼做?