由于没钱,但是又特别想抽卡,于是我就随便写了原神抽奖相关的代码。
有很多博主做过原神抽奖的分析,我这里就简单提一下保底,四星十连是保底,也就是9次后抽中概率为1,于是我直接用的是十连给一个四星角色,
同理,五星角色是90次保底
我的抽奖概率是均匀增加的,也就是中奖概率是线性增加的,不过没有考虑出了四星角色是否会对五星角色抽奖概率的影响。而且也没时间去看直播抽奖视频。。。
不过,一次十连只出四星的话,,,是挺非的
我用代码的话,十连基本上会出现三个四星的。。
4次十连貌似就很好出五星。
粗略写了一下,总觉得我写的代码在4次十连好像就必出五星的,不知道是不是没有考虑四星角色对五星角色抽奖的影响,而且也没钱去实践一下(我基本都是单抽qwq)
代码:
import random
fiveRole=["甘雨","迪卢克","莫娜","七七","刻晴","钟离","白垩"]
fourRole=["班尼特","香菱","安博","砂糖","行秋","芭芭拉","重云","凯亚","雷泽","北斗","丽莎","诺艾尔","凝光"]
def achieveLevel(fivePer=0.0061,fourPer=0.949):
a=random.random()
if a<=fivePer:
print("五星抽奖成功!!!!!")
role=random.randint(0,6)
print("角色为:"+fiveRole[role])
return 0
if a>=fourPer:
print("四星抽奖成功!!")
role=random.randint(0,12)
print("角色为:"+fourRole[role])
return 1
print("没有抽中...")
return 2
class choujiang():
def __init__(self,fiveper=0.0061,fourper=0.949):
self.fiveper=fiveper
self.fourper=fourper
def risePer(self,times):
for i in range(times):
x=achieveLevel(fivePer=self.fiveper,fourPer=self.fourper)
if x==2:
self.fiveper+=0.011
self.fourper-=0.094
if x==0:
self.fiveper=0.0061
if x==1:
self.fourper=0.949
if __name__ == "__main__":
choose="y"
fiveper=0.0061
fourper=0.949
chou=choujiang()
while choose=="y":
# x=input("请输入抽奖次数...:")
chou.risePer(10)
choose=input("继续请按‘y’,按任意键退出:")