新聞中心
Python中的隨機(jī)函數(shù)random詳解

創(chuàng)新互聯(lián)成立與2013年,先為武宣等服務(wù)建站,武宣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為武宣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Python標(biāo)準(zhǔn)庫提供了一個(gè)名為random的模塊,用于生成偽隨機(jī)數(shù),偽隨機(jī)數(shù)是指在一定范圍內(nèi)看似隨機(jī)的數(shù)字序列,但實(shí)際上它們是由一個(gè)確定的初始值和一組算法計(jì)算得出的,在實(shí)際應(yīng)用中,我們通常使用random模塊生成隨機(jī)數(shù),例如在游戲、數(shù)據(jù)分析、密碼學(xué)等領(lǐng)域,本文將詳細(xì)介紹Python中的random模塊,包括其基本功能、常用方法以及注意事項(xiàng)。
random模塊的基本功能
1、生成隨機(jī)整數(shù)
random模塊提供了randint(a, b)和randrange(start, stop[, step])兩個(gè)方法用于生成指定范圍內(nèi)的隨機(jī)整數(shù),a和b是不包含在隨機(jī)數(shù)范圍內(nèi)的整數(shù),start是隨機(jī)數(shù)范圍的起始值,stop是隨機(jī)數(shù)范圍的結(jié)束值(不包含),step是可選參數(shù),表示隨機(jī)數(shù)的步長(zhǎng)。
示例代碼:
import random 生成1到10之間的隨機(jī)整數(shù)(不包含10) print(random.randint(1, 10)) 生成1到20之間的隨機(jī)整數(shù)(不包含20) print(random.randrange(1, 21))
2、生成隨機(jī)浮點(diǎn)數(shù)
random模塊提供了uniform(a, b)和random()兩個(gè)方法用于生成指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù),a和b是不包含在隨機(jī)數(shù)范圍內(nèi)的浮點(diǎn)數(shù),random()方法返回一個(gè)0到1之間的隨機(jī)浮點(diǎn)數(shù)。
示例代碼:
import random 生成1到10之間的隨機(jī)浮點(diǎn)數(shù)(不包含10) print(random.uniform(1, 10)) 生成一個(gè)0到1之間的隨機(jī)浮點(diǎn)數(shù) print(random.random())
3、從序列中隨機(jī)選擇元素
random模塊提供了choice(seq)方法用于從給定的序列中隨機(jī)選擇一個(gè)元素,seq可以是列表、元組、字符串等可迭代對(duì)象。
示例代碼:
import random my_list = [1, 2, 3, 4, 5] print(random.choice(my_list))
4、打亂序列順序
random模塊提供了shuffle(x)方法用于將給定的序列x中的元素順序打亂,x可以是列表、元組、字符串等可迭代對(duì)象,注意:shuffle方法會(huì)直接修改原序列。
示例代碼:
import random my_list = [1, 2, 3, 4, 5] random.shuffle(my_list) print(my_list)
常用方法總結(jié)
除了上述基本功能外,random模塊還提供了其他一些常用方法,如:
random.seed():設(shè)置隨機(jī)數(shù)生成器的種子值,如果不設(shè)置種子值,每次運(yùn)行程序時(shí)生成的隨機(jī)數(shù)序列都可能不同,設(shè)置相同的種子值可以保證每次運(yùn)行程序時(shí)生成的隨機(jī)數(shù)序列相同。
random.sample(population, k):從給定的序列population中隨機(jī)選擇k個(gè)不重復(fù)的元素組成一個(gè)新的序列,population必須是可迭代對(duì)象,k為非負(fù)整數(shù)。
random.choices(population, weights=None, cum_weights=None):從給定的序列population中根據(jù)權(quán)重隨機(jī)選擇元素組成一個(gè)新的序列,population必須是可迭代對(duì)象,weights為每個(gè)元素對(duì)應(yīng)的權(quán)重列表或元組,cum_weights為累積權(quán)重列表或元組,如果沒有提供cum_weights參數(shù),則默認(rèn)所有元素的權(quán)重之和為1,如果提供了cum_weights參數(shù),則可以使用該參數(shù)代替權(quán)重列表或元組來表示累積權(quán)重。
random.shuffle(x):將給定的序列x中的元素順序打亂,x可以是列表、元組、字符串等可迭代對(duì)象,注意:shuffle方法會(huì)直接修改原序列。
random.uniform(a, b):生成一個(gè)指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)(不包含a和b),a和b是不包含在隨機(jī)數(shù)范圍內(nèi)的浮點(diǎn)數(shù),與randint方法類似,但返回的是浮點(diǎn)數(shù)而不是整數(shù)。
random.randrange(start, stop[, step]):生成一個(gè)指定范圍內(nèi)的隨機(jī)整數(shù)(不包含start和stop),start是隨機(jī)數(shù)范圍的起始值,stop是隨機(jī)數(shù)范圍的結(jié)束值(不包含),step是可選參數(shù),表示隨機(jī)數(shù)的步長(zhǎng),與randint方法類似,但返回的是整數(shù)而不是浮點(diǎn)數(shù)。
網(wǎng)頁標(biāo)題:python隨機(jī)數(shù)函數(shù)random
鏈接URL:http://www.5511xx.com/article/dheojss.html


咨詢
建站咨詢
