python random模块的详细讲解

2023-01-31 03:01:25 模块 讲解 详细

1.random()方法
random.random()方法返回的是[0,1)之间的浮点数

>>> import random 

c = random.random()
print c
0.311067669783

2. randrange()方法

语法格式为
random.randrange ([start,] stop [,step])
参数
start -- 指定范围内的开始值,包含在范围内。
stop -- 指定范围内的结束值,不包含在范围内。
step -- 指定递增基数。(也就是说最后print variable的值减除范围开始的值能被步长整除)
v = random.randrange(100, 1000, 3)

print va
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'va' is not defined
print v
802

3.random.choice(" ")
print random.choice(["hello", "world"])
print random.choice(("Tuple", "List", "Dict"))

the result is hello or world
the result is Tuple , List or Dict.

4.random.unifORM()

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

5.random.randint
random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
print random.randint(12, 20) # 生成的随机数 n: 12 <= n <= 20
print random.randint(20, 20) # 结果永远是20

6.random.shuffle()

random.shuffle(x[, random]),用于将一个列表中的元素打乱。如:

p = ["python", "is", "powerful", "simple", "and so on..."]
random.shuffle(p)
print p

7.random.sample()

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

相关文章