Here is my code:
class Prizes(object): def __init__(self, purchases, n, d): self.p = purchases self.n = n self.d = d self.x = 1 def __iter__(self): return self def __next__(self): print(self.x) if self.x % self.n == 0 and self.p[self.x - 1] % self.d == 0: self.x = self.x + 1 return self.x - 1 elif self.x > len(self.p): raise StopIteration self.x = self.x + 1 def superPrize(purchases, n, d): return list(Prizes(purchases, n, d))
Usage example:
superPrize([12, 43, 13, 465, 1, 13], 2, 3)
The output should be:
[4]
But the actual conclusion:
[None, None, None, 4, None, None].
Why is this happening?
source share