我需要帮助修改下面的类才能返回整数值。现在,我得到了正确的答案,但我的列表填充了空值。我只想改变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))