@Renat871

Как вернуть результат и продолжить цикл?

Есть один файл питон:
def main():
    for a in range(100):
        for b in range(20):
            result = get_result()
            #return result

И второй

import file
def main():
    result = file.main()
    print(result)

main()


Как вернуть значение и не остановить цикл (пробовал yield но возвращает None).
  • Вопрос задан
  • 50 просмотров
Решения вопроса 2
Lord_of_Rings
@Lord_of_Rings
Python developer
ИМХО никак
Ответ написан
Комментировать
@YurichBRO
Не может быть, чтобы возвращало None. Функция генератор возвращает генератор. Его можно раскрыть, его можно проитерировать.
Например код
def f():
    for i in range(10):
        yield i

возвратит генератор. И функция будет оставаться в стеке, пока ты не вызовешь StopIteration.

Еще вариант - использовать список с результатами, но я думаю, что вам нужен именно генератор
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект