random 模块
Python random 模块主要用于生成随机数。
random 模块实现了各种分布的伪随机数生成器。
要使用 random 函数必须先导入:
import random
random()
random() 方法返回随机生成的一个实数,它在半开放区间 [0,1) 范围内。
print(random.random())

seed()
seed() 方法改变随机数生成器的种子
random.seed()
print ("使用默认种子生成随机数:", random.random())
random.seed()
print ("使用默认种子生成随机数:", random.random())
random.seed(10)
print ("使用整数 10 种子生成随机数:", random.random())
random.seed(10)
print ("使用整数 10 种子生成随机数:", random.random())
random.seed("hello",2)
print ("使用字符串种子生成随机数:", random.random())
random.seed("hello",2)
print ("使用字符串种子生成随机数:", random.random())

randint()
Python random.randint() 方法返回指定范围内的一个整数。
randint(start, stop) 等价于 randrange(start, end)
这两个参数是必须的;返回的实例范围为:[start, end]
print(random.randint(1, 9))
注意点:
- print(random.randint(9, 9)) --- 将永远输出9
- print(random.randint(9, 1)) --- 会报错,start必须小于等于end
randrange()
Python random.randrange()方法返回指定范围内的随机数。
random.randrange(start, stop, step)
stop为必填参数,start和step为可选
该方法,和randint一样,也是选择范围内的一个随机数
step 的意思,是递增基数的意思。

uniform()
uniform() 方法将随机生成下一个实数,它在 [x,y] 范围内
返回一个浮点数 N,取值范围为如果 x<y 则 x <= N <= y,如果 y<x 则y <= N <= x。

shuffle()
shuffle() 方法将序列的所有元素随机排序
random.shuffle (lst )
# lst指列表

choice()
choice() 方法返回一个列表,元组或字符串的随机项
random.choice( seq )
# seq -- 可以是一个列表,元组或字符串

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

总结
随机整数:
>>> import random
>>> random.randint(0,99)
21
随机选取0到100间的偶数:
>>> import random
>>> random.randrange(0, 101, 2)
42
随机浮点数:
>>> import random
>>> random.random()
0.85415370477785668
>>> random.uniform(1, 10)
5.4221167969800881
随机字符:
>>> import random
>>> random.choice('abcdefg&#%^*f')
'd'
多个字符中选取特定数量的字符:
>>> import random
random.sample('abcdefghij',3)
['a', 'd', 'b']
多个字符中选取特定数量的字符组成新字符串:
>>> import random
>>> import string
>>> string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).r
eplace(" ","") ---- 啊啊啊报错了
'fih'
随机选取字符串:
>>> import random
>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
'lemon'
洗牌:
>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items
[3, 2, 5, 6, 4, 1]

浙公网安备 33010602011771号