История изменений
Исправление vvn_black, (текущая версия) :
Если очень хочеться, то вот:
def repeat_until(body, condition, *args, **kwargs):
while True:
if not condition(*args, **kwargs):
body(*args, **kwargs)
else:
break
def body(*args, **kwargs):
...
def condition(*args, **kwargs):
return ...
repeat_until(body, condition)
только, тогда и весь код надо в декларативном виде.
Upd. Тогда логично будет заменить while
на рекурсию.
Исправление vvn_black, :
Если очень хочеться, то вот:
def repeat_until(body, condition, *args, **kwargs):
while True:
if not condition(*args, **kwargs):
body(*args, **kwargs)
else:
break
def body(*args, **kwargs):
...
def condition(*args, **kwargs):
return ...
repeat_until(body, condition)
только, тогда и весь код надо в декларативном виде.
Исходная версия vvn_black, :
Если очень хочеться, то вот:
def repeat_until(body, condition, *args, **kwargs):
while True:
if not condition(*args, **kwargs):
body(*args, **kwargs)
else:
break
def body():
...
def condition():
return ...
repeat_until(body, condition)
только, тогда и весь код надо в декларативном виде.