投注算法,特别是中奖?

2024-09-30 12:15:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一场比赛,两队(红队和蓝队)对决。 观众可以在两个队中的一个队下注,在betsdict中添加一个新的赌注,最终看起来是这样的(在下注之后):

# Example of what 'bets' dict might look like mid-game
bets = {
    # player_id: (team, amount),
    12: (TEAM_RED, 500),
    13: (TEAM_RED, 1200),
    3: (TEAM_BLUE, 300),
    7: (TEAM_BLUE, 1500)
}

游戏结束后,我希望根据每个玩家的下注量来划分他们的总赌注。 所以在上面的场景中,如果蓝队赢了,id3的玩家只会得到id7玩家的五分之一,1213得不到任何东西。在

我不知道如何计算每个玩家应该得到多少钱,我怎么做到的? 我想我应该找出两队之间的系数,然后把球员的赌注乘以这个数?在


Tags: ofexample玩家blueredwhatdictteam
1条回答
网友
1楼 · 发布于 2024-09-30 12:15:13

这称为pari-mutuel payout。你只需将总赌注按赌注的比例分配给赢家(如果你是赛马场的话,在从上面减去10%的vig后:–(

因此,首先确定总金额:

total = sum(x[1] for x in bets.values());

那么正确的赌注总数:

^{pr2}$

那就去看看那些胜利者:

for p in bets.keys():
    if bets[p][0] == TEAM_BLUE:
        payout = total * bets[p][1] / wtotal

相关问题 更多 >

    热门问题