【发布时间】:2015-05-12 22:55:33
【问题描述】:
考虑以下程序。
import math
import random
def inside_unit_circle(point):
"""
Compute distance of point from origin
"""
distance = math.sqrt(point[0] ** 2 + point[1] ** 2)
return distance < 1
def estimate_mystery(num_trials):
"""
Main function
"""
num_inside = 0
for dumm_idx in range(num_trials):
new_point = [2 * random.random() - 1, 2 * random.random() - 1]
if inside_unit_circle(new_point):
num_inside += 1
return float(num_inside) / num_trials
print estimate_mystery(10000)
此程序使用random.random() 生成一组随机点,这些点均匀分布在正方形上,角在
(1, 1) (−1, 1)
(1,−1) (−1,−1)
在这里,均匀分布意味着正方形中的每个点都有相同的机会被生成。然后该方法测试这些点是否位于单位圆内。
随着试验次数的增加,estimate_mystery 返回的值趋向于一个特定的值,该值具有一个包含众所周知的常数的简单表达式。在下面输入此值作为数学表达式。 (不要输入浮点数。)
【问题讨论】:
-
您忘记复制作业中的实际问题
-
并复制代码....
标签: python probability