Python использование next()

def generator(x):
    x = x ** (1 / 3)

    return x

gen = generator(19683)
for i in range(10):
    print(next(gen))

Данная функция будет находить кубический корень следующего числа. Вход: 19683 Вывод: 27, 3 ... 10 раз

Я понимаю что нужно что-то добавить в саму функцию, что бы та принимала уже следующее значение а не статическое которое было в начале. Подскажите пожалуйста как это реализовать


Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

Переделайте функцию в генератор:

def generator(x):
    while True:
        x = x ** (1 / 3)
        yield x


gen = generator(19683)
for i in range(10):
    print(next(gen))
→ Ссылка