from math import factorial from numpy import linspace, exp, pi import matplotlib.pyplot as plt def f(thin, z): return sum(z**thin(n)/thin(n) for n in range(1, 12)) theta = linspace(0, 2*pi, 1000) plt.axes().set_aspect(1) plt.title("f(z)") for r in [0.5, 0.75, 0.875, 1]: z = f(factorial, r*exp(1j*theta)) plt.plot(z.real, z.imag) plt.show() plt.close() plt.title("g(z)") plt.axes().set_aspect(1) for n in range(8): r = (n+1)/8 z = f(lambda n: 2**n, r*exp(1j*theta)) plt.plot(z.real, z.imag) plt.show()