抽奖基本需求
1、假设中奖概率为:获得 a道具 10% b道具 20% c道具 30% d道具 40%
2、基本的想法是:生成1-100的连续数组,随机生成一个整数,如果是1-10 则中a、10-30 中b、30-60中c、60-100中d
实现方法
布尔判断
1、第一种方法,直接判断数据在哪个范围,非常简单
def choujiang0():
#生成一个1-100的随机整数
x = np.random.randint(0,100,dtype='int')
if x>=0 and x<10:
return 'a'
if x>=10 and x<30:
return 'b'
if x>=30 and x<60:
return 'c'
if x>=60:
return 'd'
算法判断
2、第二种方法:作为一个程序猿,不能满足于这种太简单的方法,不适合拓展嘛,所以想办法做改造下,用一个算法来实现抽奖,主要有以下两种方式:
2.1 把一个初始概率用字典来做配置,注意这里字典的键值是10、30、60、100,然后通过程序生成整数,判断这个整数落在区间里的概率,对应字典得到获得的奖励,以下是choujiang1方法:
ratio = {
10:'a',30:'b',60:'c',100:'d'}
def choujiang1():
#生成一个1-100的随机整数
x = np.random.randint(1,101,dtype=<