Monte Carlo, Python, Jupyter Notebook.
package: # uniform distribution between a and b random.uniform(a, b) # triangular distribution random.triangular(low=0.0, high=1.0) # lognormal distribution random.lognormvariate(mu, sigma) # Weibull distribution random.weibullvariate(alpha, beta) Notebook code on Github The full notebook is