#!python3

# 6. Реализовать два небольших скрипта:
# а) итератор, генерирующий целые числа, начиная с указанного,
# б) итератор, повторяющий элементы некоторого списка, определенного заранее.
# Подсказка: использовать функцию count() и cycle() модуля itertools.
# Обратите внимание, что создаваемый цикл не должен быть бесконечным. Необходимо предусмотреть условие его завершения.
# Например, в первом задании выводим целые числа, начиная с 3, а при достижении числа 10 завершаем цикл.
# Во втором также необходимо предусмотреть условие, при котором повторение элементов списка будет прекращено.

from itertools import count, cycle

def gen_int(start, stop = 10, step = 1):
    for x in count(start, step):
        if x > stop:
            break
        yield x


def copy_cycle(stop_length, input_list = 'abcdefg'):
    c = 0
    for x in cycle(input_list):
        if c == stop_length:
            break
        c += 1
        yield x



for x in gen_int(10,20,1):
    print(x)

for x in copy_cycle(10, [1,2,3,4,5]):
    print(x)


