random 模組

xie仗劍天涯發表於2017-03-30
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)
# ***
# *********
# ************************
# ************************************************
# **************************************************
# **********************************************
# **************************************
# ******************************
# ***********
# ****

相關文章