Python 对迭代函数中的值求和以平均总值
我的代码如下Python 对迭代函数中的值求和以平均总值,python,python-3.x,sum,iteration,pi,Python,Python 3.x,Sum,Iteration,Pi,我的代码如下 import random times_to_repeat = 10**6 circle_radius = 1 times_to_iterate = 100 def in_circle(x, y): return x**2 + y**2 < circle_radius**2 def pi_approximator(): points_in_circle = 0 for a in range(times_to_repeat): x =
import random
times_to_repeat = 10**6
circle_radius = 1
times_to_iterate = 100
def in_circle(x, y):
return x**2 + y**2 < circle_radius**2
def pi_approximator():
points_in_circle = 0
for a in range(times_to_repeat):
x = random.random()
y = random.random()
if in_circle(x, y):
points_in_circle += 1
pi_approx = (points_in_circle / times_to_repeat) * 4
print(pi_approx)
def pi_iterator():
for b in range(times_to_iterate):
pi_calculator()
pi_iterator()
随机导入
重复次数=10**6
圆半径=1
迭代次数=100
圆(x,y)中的定义:
返回x**2+y**2<圆半径**2
def pi_逼近器():
圆中的点=0
对于范围内的(重复次数):
x=random.random()
y=random.random()
如果在_圆(x,y)中:
圆中的点+=1
pi_近似值=(圆圈内的点/重复次数)*4
打印(圆周率近似值)
def pi_迭代器():
对于范围内的b(迭代次数):
pi_计算器()
pi_迭代器()
其目的是使用围绕圆随机生成的点创建圆周率近似值
我已经记下来了,但我试图通过多次迭代函数,然后求平均值,使它更精确
我已经找到了大量关于如何汇总手动创建的列表的信息,但是我很难找到任何关于如何将函数中的值相加的信息
我期望的输出是从pi_iterated()
中获取值,将它们全部相加,然后除以乘以
,以获得我所有迭代过程中pi
的平均近似值
我尝试了一些方法,但它们大多都是在黑暗中拍摄的,并且都失败了,所以我认为在我的代码中包含它们没有任何意义
如果人们需要,我可以向他们提供我所做的失败尝试。在pi_近似计算中,使用float获得正确的值,您必须保存该值,而不仅仅是打印。因此,您可以将其返回并存储在列表中。该列表给出的平均值将是您期望的输出
def pi_approximator():
...
...
pi_approx = (float(points_in_circle) / times_to_repeat) * 4
return (pi_approx)
def pi_iterator():
result = []
for b in range(times_to_iterate):
result.append(pi_approximator())
print float(sum(result))/len(result)
pi_iterator()
pi\u计算器
不应该是pi\u近似器
?问题被标记为python-3.x,因此这里不需要float