0
0 комментариев

Нужно прервать цикл, находясь внутри функции, возможно ли это?
Такой код:

def func():
    if True:
        break
while True:
    func()

Естественно не работает.
Можно заменить на:

def func():
    if True:
        return True
while True:
    if func():
        break

но это добавляет «лишнюю» проверку в цикл, что нежелательно.

Можно отказаться от использования функции, и просто копировать код с break, но это превратит все в нечитаемую кашу. Есть ли еще варианты?


Добавлено:

очень примерно код выглядит так: (он, конечно, больше, но я не знаю, что еще может быть важно)

def func(p1,p2,p3):
    answer = api(p1,p2,p3)
    if answer['ответ'] == не_устраивающие_нас_значение:
        break
while True:
    #что-то считаем
    if что-то-там:
        #еще что-то считаем
        if еще-что-то:
            func(p1,p2,p3)


Добавить комментарий