米悄待 发表于 2023-1-19 23:21

Python阴阳师神眷抽卡次数期望

本帖最后由 米悄待 于 2023-1-19 23:32 编辑

如题,
概率采用未收录的概率计算
即下表
| 抽卡次数 | 概率 |
|-|-|
| 1 - 60 | 0.05 |
| 61 - 120 | 0.08 |
| 121 - 180 | 0.1 |
| 181 - 240 | 0.15 |
| 241 - 300 | 0.2 |
| 301 - 360 | 0.25 |
| 361 - 420 | 0.3 |
| 421 - 480 | 0.4 |
| 481 - 540 | 0.5 |
| 541 - 600 | 0.7 |
| 601 - 660 | 0.8 |
| 661 - 720 | 0.9 |
| 721 - 800 | 1 |

800抽必出神眷
每60抽必出ssr、sp
要先抽到一个ssr、sp才能抽神眷

ssr概率=1%,sp概率=0.25%
前3个ssr、sp概率2.5倍
游戏内截图






https://bbs.nga.cn/read.php?tid=34993350&_fp=3

我跑出来大概是190抽

不知道哪里出错了,求大佬指正


下面是代码#学了半年感觉什么都不会的我

from random import random

p = 1.25/100
shen神眷概率={1:0.05, 2:0.08, 3:0.1, 4:0.15, 5:0.2, 6:0.25, 7:0.3, 8:0.4, 9:0.5, 10:0.7, 11:0.8, 12:0.9, 13:1}
shen神眷出货={}


def chu出货判断(p):
    if random()<p:
      return True
    return False

for _ in range(1000000):
    chou抽卡次数 = 0
    shen神眷 = False
    ssr = 0
    wei未出货次数 = 0
    while not shen神眷:
      chou抽卡次数+=1
      if chou抽卡次数 == 800:
            shen神眷=True
      else:
            if ssr == 0:
                if wei未出货次数 == 60:
                  ssr +=1
                else:
                  if chu出货判断(p*2.5):
                        ssr +=1
                  else:
                        wei未出货次数 += 1   
            elif ssr < 3:
                if wei未出货次数 == 60:
                  ssr +=1
                  if chu出货判断(shen神眷概率):
                        shen神眷 = True
                else:
                  if chu出货判断(p*2.5):
                        ssr +=1
                        if chu出货判断(shen神眷概率):
                            shen神眷 = True
                  else:
                        wei未出货次数 +=1
            else:
                if wei未出货次数 == 60:
                  ssr +=1
                  if chu出货判断(shen神眷概率):
                        shen神眷 = True
                else:
                  if chu出货判断(p):
                        ssr +=1
                        if chu出货判断(shen神眷概率):
                            shen神眷 = True
    if chou抽卡次数 in shen神眷出货:
      shen神眷出货=1+shen神眷出货
    else:
      shen神眷出货=1

kz=0
vz=0
for k,v in shen神眷出货.items():
    kz+=k*v
    vz+=v
print(f'{kz}/{vz}={kz/vz}')

whsvchy 发表于 2023-1-20 08:31

你这嵌套循环。。。。有点多啊!头疼!

not2die 发表于 2023-1-20 11:12

没有金票的我   正在肝绘卷   {:1_937:}

米悄待 发表于 2023-1-20 11:30

not2die 发表于 2023-1-20 11:12
没有金票的我   正在肝绘卷

没全图出月读的我表示开始摆烂

米悄待 发表于 2023-1-20 11:31

whsvchy 发表于 2023-1-20 08:31
你这嵌套循环。。。。有点多啊!头疼!

我是辣鸡23333
页: [1]
查看完整版本: Python阴阳师神眷抽卡次数期望