欢迎光临散文网 会员登陆 & 注册

明日方舟出6星抽卡次数数学期望计算(Python)

2022-02-23 17:00 作者:AbrahamKing  | 我要投稿

yield语法真的优雅!yyds

结论:34.59455493520977抽出一个6星

def weightedProbabilityDrawSsr() -> float:
    '''
    第n次抽卡抽中六星的概率:前n-1次抽不中且第n次抽中的概率
    此概率乘n,为本生成器的返回值
    对所有的返回值求和可以得到6星抽卡次数的数学期望
    '''
    
    probabilityNotDrawSsr = 1
    probabilityDrawSsr = 0.02

    for n in range(1, 100):
        probabilityDrawSsr += 0 if n <= 50 else 0.02
        yield n * probabilityNotDrawSsr * probabilityDrawSsr
        probabilityNotDrawSsr *= (1 - probabilityDrawSsr)

print(sum(weightedProbabilityDrawSsr()))  # 34.59455493520977

以下凑图


明日方舟出6星抽卡次数数学期望计算(Python)的评论 (共 条)

分享到微博请遵守国家法律