import random import numpy import matplotlib.pyplot as plt class MC: def __init__(self,num): self.num = num def mc(self): plt.figure() n = numpy.linspace(0, 1, 30) m = n**3 plt.xlabel('x') plt.ylabel('y') plt.plot(n,m, color='black', linewidth=1.5, linestyle='-', label='y = x**3') ans = 0 for i in range(self.num): x = float(random.uniform(0,1)) y = float(random.uniform(0,1)) f_x = x**3 if y <= (f_x): ans = ans + 1 plt.scatter(x, y, c='r') else: plt.scatter(x, y, c='b') plt.show() return round(ans/self.num,3) a = MC(300) answer = a.mc() print(answer)