对对碰游戏概率计算

经常在直播中刷到对对碰游戏,好奇概率是怎么分布的,故用python做了个模拟实验。

实验假设:有一大箱含有type_num种颜色的球,现在要随机拿出initial_draws个,每当拿出的球中出现1对相同颜色的2个球就把这2个球放到一边并重新从箱子里拿出1个球(如果出现2对相同颜色的2个球则放一边并重新拿2个球,以此类推),若出现3个一样颜色的球则随机放2个球到一边并重新拿1个球,与此同时可以指定lucky_color_num个幸运颜色,当拿出指定的幸运颜色时,可以再拿1个球,最后所有拿出的球中没有重复的球时过程结束,进行100000次实验模拟最后总共拿出球的可能个数及其对应概率。


以下为实现代码:

可自行设定type_num、initial_draws、lucky_color_num参数得到拿球平均数、众数、中位数及可视化分布图;也可设定ball_cost、transport_cost、other_cost参数计算最终成本。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@File   : ball_experiment.py
@Author : ggb
@Date   : 2024/9/26 14:08 
@Desc   : 拿球模拟实验
"""

import random
from collections import Counter
import tqdm
import matplotlib.pyplot as plt


def calculate_median(data):
    """ 计算中位数 """
    data_sorted 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值