class Catalan: def __init__(self, n): self.i = 0 self.n = n def __iter__(self): return self def silnia(self, licz): war = 1 for i in range(1,licz+1): war *= i return war def __next__(self): if self.i < self.n: licznik = self.silnia(2*self.i) mianownik = self.silnia(self.i+1) * self.silnia(self.i) self.i += 1 return licznik/mianownik else: raise StopIteration("Koniec") for i in Catalan(5): print(i)