停止__next__返回None

时间:2017-10-18 13:45:10

标签: python

我需要帮助修改下面的类才能返回整数值。现在,我得到了正确的答案,但我的列表填充了空值。我只想改变Prize类,而不是superPrize函数。我认为如果我用while语句替换我的if语句会发生这种情况,但是我无法解决它。

该类获取一个列表,并查看元素的索引和值是否可被其他两个变量整除。

class Prizes(object):
  def __init__(self, x, y, z):
    self.x = x
    self.index = -1
    self.position = y
    self.increment = z
  def __iter__(self):
    return self
  def __next__(self):
    if self.index == len(self.x) - 1:
      raise StopIteration
    self.index = self.index + 1
    if (self.index + 1) % self.position == 0 and self.x[self.index] % self.increment == 0:
      return [self.index + 1]




def superPrize(purchases, n, d):
    return list(Prizes(purchases, n, d))

0 个答案:

没有答案