5.29

学习心得今日学习时间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}")

posted @ 2024-06-19 18:36  孙锺鸣  阅读(1)  评论(0编辑  收藏  举报