Определить функцию генератора Python
Есть такая задача:
Определите функцию генератора get_odds(), которая возвращает нечётные числа из диапазона range(10). Используйте цикл For, чтобы найти и вывести третье возвращённое значение.
Я начал вот так:
def get_odds():
for i in range(10):
if i%2==1:
print(i)
get_odds()
Но нужно как-то вывести именно третье значение.
Ответы (2 шт):
Автор решения: splash58
→ Ссылка
В генераторе не надо ничего выводить. А в цикле можно воспользоваться enumerate или просто сделать переменную и увеличивать на единицу при каждом проходе цикла
def get_odds():
for i in range(10):
if i % 2:
yield i
for i, x in enumerate(get_odds()):
if i == 2:
print(x)
Автор решения: Сергей Ш
→ Ссылка
def get_odds(index):
x = [i for i in range(10) if i % 2]
return x[index - 1]
print(get_odds(3))
def get_odds():
for i in range(10):
if i % 2:
yield i
index = 3
print(list(get_odds())[index-1])