random 模块

Posted xie仗剑天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了random 模块相关的知识,希望对你有一定的参考价值。

random 模块包含许多随机数生成器,用于生成随机数

使用 random 模块获得随机数字

1. random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0
import random

print random.random()
# 0.403805661236


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

3. random.randint(a,b)用于生成一个指定范围内的整数,a >= b
print random.randint(100,1000)
# 997


4. random.randrange(a,b,n) 从指定范围内,按指定基数递增的集合中 获取一个随机数
print random.randrange(100,1000,2)
# 828


5. random.choice从序列中获取一个随机元素
print random.choice(("welcome","to","python"))
# welcome


6. random.shuffle 于将一个列表中的元素打乱
A = ["1","2","3","welcome","to","python"]
random.shuffle(A)
print (A)
# [‘2‘, ‘welcome‘, ‘3‘, ‘to‘, ‘1‘, ‘python‘]


7. random.sample 从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列
L = [11,22,33,44,55,66,77,88,99]
L5 = random.sample(L,5)
print (L5)
print (L)
# [33, 66, 88, 44, 99]
# [11, 22, 33, 44, 55, 66, 77, 88, 99]


8. 生成6位随机数
import random
list = []

for i in range(4):
    if i == 0 or i == 1:
        num = random.randrange (0,10)
        list.append(str(num))
    temp = random.randrange (65,91)
    c = chr(temp)
    list.append(c)


result = "".join(list)

print (result)
# 0H9MKI


9. 使用 random 模块生成高斯分布随机数
import random

histogram = [0] * 20

for i in range(1000):
    i = int(random.gauss(5,1) * 2)
    histogram[i] += 1

m = max(histogram)
for j in histogram:
    print "*" * (j * 50 / m)
# ***
# *********
# ************************
# ************************************************
# **************************************************
# **********************************************
# **************************************
# ******************************
# ***********
# ****

以上是关于random 模块的主要内容,如果未能解决你的问题,请参考以下文章

random模块,time模块,sys模块

11.2 random模块

python中的random模块小结

random模块

random模块详解

为啥不能导入 random模块,求解