Source code for iterchain.generators

"""

"""

from . import Iterator


[docs]def count(start=0, stop=None, step=1) -> Iterator: """ Makes a new iterator that returns evenly spaced values. (similar to the ``range`` builtin) ... """ assert step != 0 assert stop is None or (step > 0 and stop >= start) or (step < 0 and stop <= start) def _count(start, stop, step): counter = start while (stop is None) or (step > 0 and counter < stop) or (step < 0 and counter > stop): yield counter counter += step return Iterator(_count(start, stop, step))