其他分享
首页 > 其他分享> > 模拟获取武将

模拟获取武将

作者:互联网

import random
import openpyxl
import time
n1=int(input('输入要开箱次数:'))
n=1
cflb=0
while n<=n1:
    r=random.randint(1,10001)
    #rint(r)
    #加载Excel文件(创建一个Python中的工作簿对象)
    wb=openpyxl.load_workbook('三国杀灵宝概率.xlsx')
    sheet=wb['Sheet1']
    col=sheet['F']

    qj=[]
    iq=0
    coun=0
    for i in (col):
        try:

            xqj=[x for x in range(iq+1,i.value+1)]
            qj.append(xqj)
            iq=i.value
            #print(xqj)
        except:
            pass
        # if coun==1:          #只为查看某个区间
        #     print(xqj)
        # coun+=1
    def jianglidj(s1):
        for q in qj:
            if s1 in q:
                #print('概率为{:.2%}'.format(len(q)/10000))
                return qj.index(q)
    #print(qj)
    #print(jianglidj(r))
    #print(qj[0])
    col1=sheet['A']
    wjk=[]
    for i in col1:
        wj=i.value.split()
        wjk.append(wj)
        #print(wj)
    #print(wjk[jianglidj(r)])

    wj1=random.choice(wjk[jianglidj(r)])
    cf=sheet[f'B{jianglidj(r)+1}']
    gl=sheet[f'C{jianglidj(r)+1}']
    cflb+=cf.value
    print(f'获得武将  {wj1}',f'重复返灵宝 {cf.value}')
    print('概率为 {:.2%}'.format(gl.value)) #'a is {:.2%} .'.format(a)
    print('第{0}次开箱,至少获得{1}灵宝'.format(n,cflb))
    print()
    n+=1
    time.sleep(1)

标签:openpyxl,int,random,获取,while,武将,import,模拟,cflb
来源: https://blog.csdn.net/qq_51679796/article/details/113728693