如何在python中独立平均多个输出

时间:2017-12-06 20:52:23

标签: python python-3.x list for-loop average

PYTHON 3:嗨,所以我有这段代码

for money in range(0, 2501, 500):
    print("{} Euro".format(money), end='')
    throws = 0
    d = trump.possession(board)

    while False in d.values():
        prevLoc = piece.location
        piece.move(trump.throw())
        throws += 1
        if piece.location < prevLoc:
            money += 200

        if board.names[piece.location] in d and d[board.names[piece.location]] == False and money >= board.values[piece.location]:
            money -= board.values[piece.location]
            d[board.names[piece.location]] = True
    return throws

这个代码需要0钱才能开始,运行代码,查找购买整块板所需的投掷金额,同样需要500个起始金,1000个等等

我的问题是,我怎样才能将每次起始价值的平均投注购买整个董事会?我的代码现在的方式是返回所有起始值的抛出量,但模拟一次,因此可能不准确。 我搜索了很多东西,尝试了一些东西,但我遇到了这个问题,因为我想要运行它,例如2000次,并得到每个起始值的平均值。

有人对此有任何提示吗?一段时间以来一直在努力..

我尝试从0到2000进行for循环,然后在另一个for循环中打印0-2500,然后在函数中使用下面的代码,将throws的返回值追加到列表中并将其求和在2000年之前,它并没有那么好......

1 个答案:

答案 0 :(得分:0)

由于return语句,我将假设这是一个函数。您需要将输出收集到列表中,然后在结尾处对其进行平均。

def calc_throws(simulations):
    throw_list = []
    average = lambda x: sum(x)/len(x)
    for i, money in enumerate(range(0, 2501, 500)):
        print("{} Euro".format(money), end='')
        throw_list.append([money, []])
        for _ in range(simulations):
            throws = 0
            d = trump.possession(board)
            while False in d.values():
                prevLoc = piece.location
                piece.move(trump.throw())
                throws += 1
                if piece.location < prevLoc:
                    money += 200

                if board.names[piece.location] in d and d[board.names[piece.location]] == False and money >= board.values[piece.location]:
                    money -= board.values[piece.location]
                    d[board.names[piece.location]] = True
            throw_list[i][1].append(throws)
        throw_list[i][1] = average(throw_list[i][1])
    return throw_list

这不是一个数字,而是返回一个列表,如#[[0,20],[500,15],...[2500,3]](或任何合理的数字),它为您提供每个起始金额的平均值。