def silnia(licz): war = 1 for i in range(1,licz+1): war *= i return war def my_range(n): i = 0 while i < n: yield silnia(2*i) / (silnia(i+1) * silnia(i)) i += 1 a = my_range(5) for i in range(5): print(a.__next__())