import random import numpy as np from matplotlib import pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False def MC(x_min,x_max,y_min,y_max,n): count = 0 for i in range(n): x = random.uniform(x_min, x_max) y = random.uniform(y_min, y_max) if y < x ** 3: count += 1 integral_value = count / float(n) print(f'函数y=x**3在(0,1)上的积分为 : {integral_value}') def Draw_MC(): x = np.arange(0, 1, 0.1) y = x ** 3 plt.xlabel('x') plt.ylabel('y') plt.title("函数图像") plt.plot(x, y) plt.show() if __name__ == '__main__': x_min, x_max = 0, 1 y_min, y_max = 0, 1 MC(x_min,x_max,y_min,y_max,1000000) Draw_MC()