from __future__ import division import sympy as S x=S.symbols('x') F = sum([S.Heaviside(x-i+1) for i in range(1,7)])/6 # offset to satisfy sympy definition S.plot(F,(x,0,6),ylabel='CDF(x)',xlabel='x'); invF=S.Piecewise((1,0