根据权重分配随机抽取纸牌

xiaoxiao2021-02-27  209

# coding:utf-8 import random def main(l): # 计算权重总数 total = sum([x[1] for x in l]) # 随机获取0到total里的随机数 n = random.uniform(0,total) num1=0 for k,v in l: # 1 num1=0 num1+v=10 # 2 num1=10 num1+v=30 # 3 num1=30 num1+v=45 if num1<=n and n<=num1+v: return k num1+=v if __name__ == '__main__': # 测试纸牌 cart = 'cart2' # 测试出牌次数 num=10000 count=0 i = 0 while i<=num: l = [['cart1', 10], ['cart2', 20], ['cart3', 15]] a=main(l) if a == cart: count+=1 i+=1 print 'cart1的概率为:%s'%(float(count)/float(num)*100)
转载请注明原文地址: https://www.6miu.com/read-8862.html

最新回复(0)