random详解

random库的介绍

random是python的一个随机函数标准库,主要用来产生随机数,用处比较广泛。
调用方法和其他标准库类似,我就不多讲了。

1.常用函数

1.random.random()函数,随机生成[0.1)的浮点数

import random
print(random.random())
0.3562356990783053

2.random.uniform 原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b.

import random
print(random.uniform(10,20))
print(random.uniform(20,10))
17.668027929743914
17.22003961825177

3.random.randint:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b(闭区间)

print(random.randint(12, 20)) #生成的随机数n: 12 <= n <= 20
14

4.random.choice :random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence(字典和集合都是无序的)

import random
print(random.choice("Python没那么简单") )
print(random.choice(['Jason', 'is', 'so', 'handsome']))
print(random.choice(('Tuple', 'List', 'Dict')))
P
handsome
Tuple

5.random.sample ,从指定序列中随机获取指定长度的片断。(sample函数不会修改原有序列)

list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
slice = random.sample(list, 5)  #从list中随机获取5个元素,作为一个片断返回  
print(slice)
print(list) #原有序列并没有改变。
[9, 4, 6, 2, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

6.random.shuffle 用于将一个列表中的元素打乱。

import random
L=[1,2,3,4,5,6,7]
random.shuffle(L)
print(L)
#运行结果[2, 5, 7, 6, 3, 1, 4]

2.实例

随机生成验证码

import random
check_code = ''
for i in range(4):
    cur = random.randrange(0,4)    #随机猜的范围,与循环次数相等
    #字母
    if cur == i:
        tmp = chr(random.randint(65,90))    #随机取一个字母
    #数字
    else:
        tmp = random.randint(0,9)
    check_code += str(tmp)
print(check_code)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章