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)
# ***
# *********
# ************************
# ************************************************
# **************************************************
# **********************************************
# **************************************
# ******************************
# ***********
# ****