明日方舟出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以下凑图





