天天看点

python随机数(random);

random模块用于生成随机数

random()是Python中生成随机数的函数,是由random模块控制,random()函数不能直接访问,需要导入random 模块,然后再通过相应的静态对象调用该方法才能实现相应的功能;

1、random.random()

返回一个随机数,其在0至1的范围之内;

import random
print(random.random())

#0.9579738653974652
           

2、random.randint()

随机生成一个指定范围内的整数,其有两个参数,一个是范围上限,一个是范围下线;

>>> import random
>>> print(random.randint(1,10))    #包括1和10
7
           

3、random.choice()

从序列中获取一个随机元素;

>>> import random
>>> print(random.choice('hello'))
h
           

4、random.sample()

从指定序列中随机获取指定长度的片段,原有序列不会改变,有两个参数,第一个参数代表指定序列,第二个参数是需获取的片段长度;

>>> import random
>>> num = [1,2,3,4,5,6]
>>> print(random.sample(num,4))
[5, 2, 1, 4]
           

5、random.randrange()

在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量;

>>> import random
>>> print(random.randrange(2,15,2))
6

>>> print(random.randrange(1,3))    #不包括3
1
>>> print(random.randrange(1,3))
2
>>> print(random.randrange(1,3))
1
           

6. random.shuffle()

将一个列表中的元素打乱,随机排序;

>>> import random
>>> num = [1,2,3,4,5,6,7]
>>> random.shuffle(num)
>>> print(num)
[7, 3, 1, 5, 4, 2, 6]
           

实践

随机获取一个五位数的验证码:

import random
def ver_code():
    code = ''
    for i in range(5):
        add = random.choice([random.randrange(10),chr(random.randrange(65,91))])
        code += str(add)
    return code
print(ver_code())
           

多次执行效果:

XU531
Z31L4
R4LV5
6FX2N
C4ZW0