十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
在python中用于生成隨機(jī)數(shù)的模塊是random,在使用前需要import

我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、復(fù)興ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的復(fù)興網(wǎng)站制作公司
random.random:
random.random():生成一個(gè)0-1之間的隨機(jī)浮點(diǎn)數(shù).例:
[python] view plain copy
import random
print random.random()
# 0.87594424128
random.uniform
random.uniform(a, b):生成[a,b]之間的浮點(diǎn)數(shù).例:
[python] view plain copy
import random
print random.uniform(0, 10)
# 5.27462570463
random.ranint
random.randint(a, b):生成[a,b]之間的整數(shù).例:
[python] view plain copy
import random
print random.randint(0, 10)
# 8
random.randrange
random.randrange(a, b, step):在指定的集合[a,b)中,以step為基數(shù)隨機(jī)取一個(gè)數(shù).如random.randrange(0, 20, 2),相當(dāng)于從[0,2,4,6,...,18]中隨機(jī)取一個(gè).例:
[python] view plain copy
import random
print random.randrange(0, 20, 2)
# 14
python中,“random()”是random庫(kù)中用于生成隨機(jī)小數(shù)的函數(shù)。
python中用于生成偽隨機(jī)數(shù)的函數(shù)庫(kù)是random,因?yàn)槭菢?biāo)準(zhǔn)庫(kù),使用時(shí)候只需要import random;random庫(kù)包含兩類函數(shù),常用的共8個(gè):
基本隨機(jī)函數(shù):seed(),random()
擴(kuò)展隨機(jī)函數(shù):randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
擴(kuò)展資料:
random庫(kù)采用梅森旋轉(zhuǎn)算法(Mersennne Twister)生成偽隨機(jī)數(shù)序列,可用于除隨機(jī)性要求更高的加解密算法外的大多數(shù)工程應(yīng)用。
使用random庫(kù)的主要目的是生成隨機(jī)數(shù);該庫(kù)提供了不同類型的隨機(jī)數(shù)函數(shù),所有函數(shù)都是基于最基本的random.random()函數(shù)擴(kuò)展實(shí)現(xiàn)。
#導(dǎo)入隨機(jī)數(shù)模塊
import random
#定義一個(gè)空的數(shù)組,用作取樣表
reList = []
#為取樣表賦值,1~100
for i in range(1,101):
reList.append(i)
#使用sample方法,取3個(gè)隨機(jī)數(shù)
res = random.sample(reList,k=3)
print("三個(gè)隨機(jī)數(shù)是:{}".format(res))
Python中random模塊包含了生成隨機(jī)數(shù)的常用函數(shù),random模塊不能直接訪問(wèn),需要導(dǎo)入random 模塊(import random)。常見的random函數(shù)包含如下幾個(gè),( 我使用的是jupyter notebook) 。
用python生成隨機(jī)的15行6列的隨機(jī)數(shù)據(jù)的方法如下:
1.import numpy as np # 定義從正態(tài)分布中獲取隨機(jī)數(shù)的函數(shù) def get_normal_random_number(loc, scale): """ :param loc: 正態(tài)分布的均值 :param scale: 正態(tài)分布的標(biāo)準(zhǔn)差 :return:從正態(tài)分布中產(chǎn)生的隨機(jī)數(shù) """ # 正態(tài)分布中的隨機(jī)數(shù)生成 number = np.random.normal(loc=loc, scale=scale) # 返回值 return number # 主模塊 if __name__ == "__main__": # 函數(shù)調(diào)用 n = get_normal_random_number(loc=2, scale=2) # 打印結(jié)果 print(n) # 結(jié)果:3.275192443463058
2 從給定參數(shù)的均勻分布中獲取隨機(jī)數(shù)的函數(shù)
考慮從均勻分布中獲取隨機(jī)數(shù)的時(shí)候,要事先知道均勻分布的下界和上界,然后調(diào)用Numpy模塊的random.uniform函數(shù)生成隨機(jī)數(shù)。
import numpy as np # 定義從均勻分布中獲取隨機(jī)數(shù)的函數(shù) def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產(chǎn)生的隨機(jī)數(shù) """ # 均勻分布的隨機(jī)數(shù)生成 number = np.random.uniform(low, high) # 返回值 return number # 主模塊 if __name__ == "__main__": # 函數(shù)調(diào)用 n = get_uniform_random_number(low=2, high=4) # 打印結(jié)果 print(n) # 結(jié)果:2.4462417140153114
3 按照指定概率生成隨機(jī)數(shù)
有時(shí)候我們需要按照指定的概率生成隨機(jī)數(shù),比如已知盒子中每種顏色的球的比例,猜測(cè)下一次取出的球的顏色。在這里介紹的問(wèn)題和上面的例子相似,要求給定一個(gè)概率列表,從列表對(duì)應(yīng)的數(shù)字列表或區(qū)間列表中生成隨機(jī)數(shù),分兩部分討論。
在Python中,你可以使用 random 模塊的 randint() 函數(shù)來(lái)隨機(jī)生成指定范圍內(nèi)的整數(shù)。例如,要隨機(jī)生成100內(nèi)的10個(gè)整數(shù),你可以這樣寫:
==========================
import random # 導(dǎo)入random模塊
# 使用random.randint()函數(shù)生成10個(gè)1到100的整數(shù)
for i in range(10):
print(random.randint(1, 100))
==========================
上面的代碼將會(huì)生成10個(gè)1到100之間的隨機(jī)整數(shù),并依次輸出。
如果你想要生成1到20之間的隨機(jī)整數(shù)30個(gè),你可以這樣寫:
===========================
import random # 導(dǎo)入random模塊
# 使用random.randint()函數(shù)生成30個(gè)1到20的整數(shù)
for i in range(30):
print(random.randint(1, 20))
===========================
上面的代碼將會(huì)生成30個(gè)1到20之間的隨機(jī)整數(shù),并依次輸出。
需要注意的是,在Python中,random.randint() 函數(shù)生成的隨機(jī)整數(shù)是包含邊界值的。所以,上面的代碼中,生成的隨機(jī)整數(shù)可能包含1和100,也可能包含1和20。
總之,你可以使用 random.randint() 函數(shù)來(lái)隨機(jī)生成指定范圍內(nèi)的整數(shù)。