python函數(shù)深入淺出 17.random.randint()函數(shù)詳解

1.函數(shù)名及其來(lái)源

random() 函數(shù)命名來(lái)源于英文單詞random(隨機(jī))饭尝。

randint是random + integer拼接簡(jiǎn)寫(xiě)而成,代表隨機(jī)一個(gè)整數(shù)

Python標(biāo)準(zhǔn)庫(kù)中的random函數(shù)步脓,可以生成隨機(jī)浮點(diǎn)數(shù)、整數(shù)浩螺、字符串靴患,甚至幫助你隨機(jī)選擇列表序列中的一個(gè)元素,打亂一組數(shù)據(jù)等要出。

random.randint() 函數(shù)的例子:

>>> import random
>>> import random
>>> print(random.randint(10,20))
19
>>> print(random.randint(10,20))
20
>>> print(random.randint(10,20))
11
>>> print(random.randint(10,20))
19

2.函數(shù)定義源碼及其用法拆解

random.randint(a,b)

用于生成一個(gè)指定范圍內(nèi)的整數(shù)鸳君。其中參數(shù)a是下限,參數(shù)b是上限患蹂,生成的隨機(jī)數(shù)n:a<=n<=b
a必須小于或等于b或颊,否則報(bào)錯(cuò)。

其他random的方法:

  • random.random() 方法用于生成一個(gè)0到1的隨機(jī)浮點(diǎn)數(shù):0<=n<1.0
>>> import random
>>> print(random.random())
0.809221478124
  • random.uniform(a,b):用于生成一個(gè)指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)况脆,兩參數(shù)中饭宾,其中一個(gè)是上限批糟,一個(gè)是下限格了。如果a>b,則生成的隨機(jī)數(shù)n徽鼎,即b<=n<=a盛末;如果a>b,則a<=n<=b否淤。
>>> import random
>>> print(random.uniform(10,20))
13.2960134544
>>> print(random.uniform(20,10))
15.9038751838
  • random.randrange(a,b[,step]):從指定范圍內(nèi)悄但,按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù)。如:random.randrange(10,100,2)石抡,結(jié)果相當(dāng)于從[10,12,14,16,...,96,98]序列中獲取一個(gè)隨機(jī)數(shù)檐嚣。random.randrange(10,100,2)在結(jié)果上與random.choice(range(10,100,2))等效。
>>> import random
>>> print(random.randrange(10,100,2))
72
>>> print(random.choice(range(10,100,2)))
28
>>> print(random.choice(range(10,100,2)))
74
  • random.choice(sequence):參數(shù)sequence表示一個(gè)有序類(lèi)型啰扛。sequence在python不是一種特定的類(lèi)型嚎京,而是泛指一系列的類(lèi)型。list隐解,set, tuple鞍帝,字符串都屬于sequence。
>>> import random
>>> print(random.choice("學(xué)習(xí)python"))
t
>>> print(random.choice(["JGood","is","a","handsome","body"]))
is
>>> print(random.choice(("Tuple","list","Dict")))
list
  • random.shuffle(x[, random]):用于將一個(gè)列表中的元素打亂煞茫。
>>> import random
>>> p=["pyhton","is","powerful","simple","and so on..."]
>>> random.shuffle(p)
>>> p
['and so on...', 'simple', 'powerful', 'pyhton', 'is']
  • random.sample(sequence,k):從指定序列中隨機(jī)獲取指定長(zhǎng)度的片段帕涌,sample函數(shù)不會(huì)修改原有序列摄凡。
>>> import random
>>> list=[1,2,3,4,5,6,7,8,9,10]
>>> a=random.sample(list,5) #從list中隨機(jī)獲取5個(gè)元素,作為一個(gè)片段返回
>>> print(a)
[1, 6, 10, 8, 3]
>>> print(list)   #原有序列并沒(méi)有改變
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

3.版本差異

無(wú)

4.學(xué)習(xí)建議

隨機(jī)數(shù)是用于生成測(cè)試入?yún)⒌暮棉k法蚓曼,也常見(jiàn)于各種需要隨機(jī)的場(chǎng)合亲澡。

但是每次隨機(jī)帶來(lái)的不確定性也會(huì)造成某些驗(yàn)證功能的困難,因此可以使用random.seed()通過(guò)指定隨機(jī)的種子值保證每次生成隨機(jī)數(shù)是同一序列的偽隨機(jī)數(shù)纫版。觀察下面的輸出:

import random
random.seed(0) # 種子值可以任意整數(shù)
print("Random number with seed 10 : ", random.random())
#生成同一個(gè)隨機(jī)數(shù)
random.seed(0)
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
#生成同一個(gè)隨機(jī)數(shù)
random.seed(0)
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())
print("Random number with seed 10 : ", random.random())

對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問(wèn)的谷扣,推薦參考:python函數(shù)深入淺出 0.基礎(chǔ)篇

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捎琐,隨后出現(xiàn)的幾起案子会涎,更是在濱河造成了極大的恐慌,老刑警劉巖瑞凑,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件末秃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡籽御,警方通過(guò)查閱死者的電腦和手機(jī)练慕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)技掏,“玉大人铃将,你說(shuō)我怎么就攤上這事⊙剖幔” “怎么了劲阎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)鸠真。 經(jīng)常有香客問(wèn)我悯仙,道長(zhǎng),這世上最難降的妖魔是什么吠卷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任锡垄,我火速辦了婚禮,結(jié)果婚禮上祭隔,老公的妹妹穿的比我還像新娘货岭。我一直安慰自己,他們只是感情好疾渴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布千贯。 她就那樣靜靜地躺著,像睡著了一般程奠。 火紅的嫁衣襯著肌膚如雪丈牢。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天瞄沙,我揣著相機(jī)與錄音己沛,去河邊找鬼慌核。 笑死,一個(gè)胖子當(dāng)著我的面吹牛申尼,可吹牛的內(nèi)容都是我干的垮卓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼师幕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼粟按!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起霹粥,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤灭将,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后后控,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體庙曙,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年浩淘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捌朴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡张抄,死狀恐怖砂蔽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情署惯,我是刑警寧澤左驾,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站泽台,受9級(jí)特大地震影響什荣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怀酷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嗜闻。 院中可真熱鬧蜕依,春花似錦、人聲如沸琉雳。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翠肘。三九已至檐束,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間束倍,已是汗流浹背被丧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工盟戏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甥桂。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓柿究,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親黄选。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蝇摸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 今日天氣晴好,陽(yáng)光和煦办陷,伴著時(shí)有時(shí)無(wú)的微風(fēng)貌夕,一掃前兩日因降雪帶來(lái)的沁骨寒意。單位院內(nèi)一叢叢的小毛竹不知覺(jué)間已褪去了...
    野行的芥末花閱讀 375評(píng)論 0 0
  • 號(hào)外,號(hào)外:朗讀社的全新板塊來(lái)了Q旰恪V簿伞! 本周我們將開(kāi)展全新板塊@胩啤2「健! (一)國(guó)學(xué)經(jīng)典共讀亥鬓,聽(tīng)我們的經(jīng)典誦讀專(zhuān)題:國(guó)...
    小步點(diǎn)閱讀 584評(píng)論 0 0
  • 看著幾個(gè)高中時(shí)的好友完沪,心里有說(shuō)不出的高興,沒(méi)有傳說(shuō)中同學(xué)聚會(huì)的奢華嵌戈,更沒(méi)有網(wǎng)上所傳的不堪覆积,有的只是年少時(shí)熱情奔放,...
    商山一芙蓉閱讀 322評(píng)論 3 7