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