Функция hava a validate_until_true
, которая проверяет возвращаемое значение от функции до тех пор, пока оно не встретит заданное условие или тайм-аут.Строковое представление лямбда
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.
Можно ли напечатать что-то вдоль линий: "! Уа = 2 и VB == 2"
Условия не был выполнен, v имеет значение: а = 1, b = 2, c = 3
Как я могу это сделать?