(start, stop, step)
Helper function that generates a range of integers but allowing to have
    a float as step.

    I am not very proud of this but the Rival 110 requires a step of ~2.33...

    :param int start: The start of the range.
    :param int stop: The end of the range.
    :param float step: The gap between two value in the range.

    :rtype: generator(int)

    >>> list(custom_range(4, 168, 2.33))
    [4, 6, 8, 10, 13, 15, ...160, 162, 164, 167]
Helper function that generates a range of integers but allowing to have
    a float as step.
Helper function that generates a range of integers but allowing to have a float as step .
def custom_range(start, stop, step):
    """Helper function that generates a range of integers but allowing to have
    a float as step.

    I am not very proud of this but the Rival 110 requires a step of ~2.33...

    :param int start: The start of the range.
    :param int stop: The end of the range.
    :param float step: The gap between two value in the range.

    :rtype: generator(int)

    >>> list(custom_range(4, 168, 2.33))
    [4, 6, 8, 10, 13, 15, ...160, 162, 164, 167]
    """
    i = start
    while i < stop:
        yield int(i)
        i += step
def custom_range ( start , stop , step ) : i = start while i < stop : yield int ( i ) i += step