学习心得今日学习时间2h
mport random
import math
# 定义函数用于判断一个点(x, y)是否在单位圆内
def is_inside_circle(x, y):
# 计算点到原点的距离平方
distance_squared = x**2 + y**2
# 判断距离是否小于1(单位圆半径为1)
return distance_squared <= 1
# 获取用户输入的掷飞镖次数(模拟随机点的数量)
num_darts = int(input("请输入掷飞镖的次数:"))
# 初始化落在单位圆内的点数
points_in_circle = 0
# 模拟掷飞镖过程
for _ in range(num_darts):
# 随机生成(-1, 1)范围内的横纵坐标
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
# 判断该点是否在单位圆内
if is_inside_circle(x, y):
points_in_circle += 1
# 根据落在单位圆内的点的比例估算π的值
pi_estimate = 4 * (points_in_circle / num_darts)
# 输出结果
print(f"通过蒙特·卡罗方法模拟计算出的圆周率的近似值为:{pi_estimate:.4f}")