class FiniteOddNumbers(object):

    """
    An iterator for odd positive integers

    Argument:
    limit (int): upper limit on the sequence
    """

    def __init__(self, limit):
        self.current = 1
        self.limit = limit

    def __next__(self):
        if self.current >= self.limit:
                raise StopIteration
        else:
            result = self.current
            self.current = self.current + 2
            return result

    def __iter__(self):
        return self

class FiniteOddIterable(object):

    """
    An iterable for odd positive integers

    Argument:
    limit (int): upper limit on the sequence
    """
    def __init__(self, limit):
        self.limit = limit

    def __iter__(self):
        return FiniteOddNumbers(self.limit)


class WordIterable(object):

    """
    An iterator for odd positive integers

    Argument:
    limit (int): upper limit on the sequence
    """

    def __init__(self):
        self.current = 1
        # self.limit = limit

    def __next__(self):
        #if self.current >= self.limit:
        #        raise StopIteration
        result = self.current
        self.current = self.current + 1
        return result

    def __iter__(self):
        return self