模块--random

random模块

 

1       random.random()

 print(random.random())
0-1 之间随机小数 不包含1

 

2       random.uniform(a,b)

    获取a-b之间的小数

      print(random.uniform(1,3))

    1-3之间的小数,不包含3

 

3       random.randint(a,b)

  获取a,b之间的整数包含b

   print(random.randint(1,10))

 起始位置,终止位置 两头都包含

 

4       random.randrange(a,b,sep)

    获取a,b之间,不包含b 步长为sep的整数

      print(random.randrange(1,21,2))

   起始位置,终止位置(不包含),步长

  5       random.choice(有序的可迭代对象)

      print(random.choice([1,2,3,4,5]))

   print(random.choice(['alex','wusir','eva_j']))
  从有序数据结构中随机选择一个

 

6       random.choices(有序的可迭代对象,k= int)

  print(random.choices([12,3,4,5,1],k=3))
  print(random.choices(['wusir','tialaing','taihei','ritian'],k=2))
  随机选择k个,k可以大于元素个数,但是有重复

 

7       random.sample(有序的可迭代对象,k= int)

 print(random.sample(['wusir','tialaing','taihei','ritian'],k=2))
随机选择k个,没有重复

 

 

8       random.shuffle()

 li = [1,2,3,4,6]
random.shuffle(li)  # 洗牌 打乱顺序

  

模拟发红包

def func(s,n):
    li = []
    for ii in range(n):
        li.append(random.random())
        ss= sum(li)
    for i in range(n):
        li[i]= float(format(s/ss*li[i],'0.2f'))

    return li
print(func(100,10))

 

 

模拟生成4-6为验证码

def s():
    U = chr(random.randrange(65,91))
    L = chr(random.randrange(97,123))
    n = random.randrange(0,10)
    k=random.randint(4,6)
    return [U,L,n]

def func():
    li = []
    k = random.randint(4, 6)
    for i in range(k):
        li.append(random.choice(s()))
    return li

print(func())

 

posted @ 2019-03-25 19:30  RunningTron  阅读(119)  评论(0编辑  收藏  举报