【发布时间】:2017-09-25 03:46:11
【问题描述】:
我正在创建一个单链表,它返回给定范围内的奇数,而不是返回 1、3、5 等,而是返回 1、无、3、无、5 等。我想做以便它停止返回 None 并且只返回奇数。
class Odds:
def __init__(self,end):
self.__start = 1
self.__end = end
def __iter__(self):
return OddsIterator(self.__end)
class OddsIterator:
def __init__(self,finish):
self.__current = 0
self.__step = 1
self.__end = finish
def __next__(self):
x = None
if self.__current > self.__end:
raise StopIteration
else:
self.__current += self.__step
if (self.__current - self.__step + 1) % 2 != 0:
x = self.__current - self.__step + 1
if x != None:
return x
【问题讨论】:
-
停止使用双层名称修改