Python 下注算法,尤其是赢得赌注的算法?
我有一个游戏,两个队(红色和蓝色)互相对抗。 观众可以在两支球队中的一支上下注,在Python 下注算法,尤其是赢得赌注的算法?,python,algorithm,math,python-3.x,Python,Algorithm,Math,Python 3.x,我有一个游戏,两个队(红色和蓝色)互相对抗。 观众可以在两支球队中的一支上下注,在下注dict中添加新的下注,最终看起来是这样的(下注后): 一旦游戏结束,我希望根据每个玩家的下注量来划分总赌注。 因此,在上面的场景中,如果蓝队获胜,id为3的玩家只能得到id为7的玩家的五分之一,而id为12和13的玩家则一无所获 我不知道如何计算每个球员应该得到多少钱,我该怎么做? 我想我应该以某种方式得到两队之间的系数,并将玩家的赌注乘以该值?这称为a。您只需按照赢家的下注比例将总下注金额分配给赢家(如果您
下注
dict中添加新的下注,最终看起来是这样的(下注后):
一旦游戏结束,我希望根据每个玩家的下注量来划分总赌注。
因此,在上面的场景中,如果蓝队获胜,id为3的玩家只能得到id为7的玩家的五分之一,而id为12和13的玩家则一无所获
我不知道如何计算每个球员应该得到多少钱,我该怎么做?
我想我应该以某种方式得到两队之间的系数,并将玩家的赌注乘以该值?这称为a。您只需按照赢家的下注比例将总下注金额分配给赢家(如果您是赛马场,在从顶部减去10%的vig后:-(
因此,首先获得总下注金额:
total = sum(x[1] for x in bets.values());
然后是正确下注的总数:
wtotal = sum(x[1] for x in bets.values() if x[0] == TEAM_BLUE);
然后再看看赌徒:
for p in bets.keys():
if bets[p][0] == TEAM_BLUE:
payout = total * bets[p][1] / wtotal
读了你的答案后,我意识到我的答案太天真了。+1.你也只花了一半的钱。提醒我不要去你的赛马场。-)啊,谢谢你的解释,让我更容易理解你的答案:)谢谢!如果有人在蓝色上下注1,而其他人在红色上下注1000,那么蓝色在这个算法上会赚1001英镑——这似乎并不正确right@K2xL如果瑞德赢的几率是1001分之一,那就完全可以打赌了。根据赔率,有人必须在蓝色上下注1001次才能实现收支平衡。如果“实际”赔率更为平均,比如说50/50,那么就有人在红色上下注过多。将每个团队的下注总数相加,然后将每个玩家的下注除以总数,得到他们赢得的赢款百分比。所以,在这种情况下,
TEAM_BLUE
上的总赌注是1800
,所以玩家3
的切分是`(300/1800)*(总金额)`@RPGillespie这其实很简单。谢谢你的评论
for p in bets.keys():
if bets[p][0] == TEAM_BLUE:
payout = total * bets[p][1] / wtotal