Задать вопрос
@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).
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 2
Lord_of_Rings
@Lord_of_Rings Куратор тега Python
Дунадан - северный странник. Злой, но очень добрый
ИМХО никак
Ответ написан
Комментировать
@YurichBRO
Не может быть, чтобы возвращало None. Функция генератор возвращает генератор. Его можно раскрыть, его можно проитерировать.
Например код
def f():
    for i in range(10):
        yield i

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

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

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

Похожие вопросы
18 янв. 2025, в 07:20
50000 руб./за проект
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект