1. 程式人生 > >python--隨機函數(random,uniform,randint,randrange,shuffle,sample)

python--隨機函數(random,uniform,randint,randrange,shuffle,sample)

sim 字符 wid randint 指定 shuff 隨機 dde style

轉自:https://www.cnblogs.com/chamie/p/4917820.html

random()

random()方法:返回隨機生成的一個實數,它在[0,1)範圍內

運用random()方法的語法:

import random  #random()方法不能直接訪問,需要導入random模塊,然後通過random靜態對象調用該方法

random.random

random.random()方法用於生成一個0到1的隨機浮點數:0<=n<1.0

>>> import random
>>> print "random():",random.random()
random(): 0.809221478124
>>> print "random():",random.random()
random(): 0.877521147987

random.uniform

random.uniform(a,b):用於生成一個指定範圍內的隨機浮點數,兩格參數中,其中一個是上限,一個是下限。如果a>b,則生成的隨機數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.randint

random.randint(a,b):用於生成一個指定範圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n:a<=n<=b

>>> import random
>>> print random.randint(10,20)
11
>>> print random.randint(20,20)
20
#print random.randint(20,10) #該語句是錯誤的,下限必須小於上限

random.randrange

random.randrange([start],stop[, step]):從指定範圍內,按指定基數遞增的集合中獲取一個隨機數。如:random.randrange(10,100,2),結果相當於從[10,12,14,16,...,96,98]序列中獲取一個隨機數。random.randrange(10,100,2)在結果上與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

random.choice(sequence):參數sequence表示一個有序類型。sequence在python不是一種特定的類型,而是泛指一系列的類型。list,tuple,字符串都屬於sequence。

技術分享圖片
>>> import random
>>> print random.choice("學習python")
t
>>> print random.choice(["JGood","is","a","handsome","body"])
is
>>> print random.choice(("Tuple","list","Dict"))
list
技術分享圖片

random.shuffle

random.shuffle(x[, random]):用於將一個列表中的元素打亂。

>>> import random
>>> p=["pyhton","is","powerful","simple","and so on..."]
>>> random.shuffle(p)
>>> p
[‘and so on...‘, ‘simple‘, ‘powerful‘, ‘pyhton‘, ‘is‘]

random.sample

random.sample(sequence,k):從指定序列中隨機獲取指定長度的片段,sample函數不會修改原有序列。

技術分享圖片
>>> import random
>>> list=[1,2,3,4,5,6,7,8,9,10]
>>> a=random.sample(list,5) #從list中隨機獲取5個元素,作為一個片段返回
>>> print a
[1, 6, 10, 8, 3]
>>> print list   #原有序列並沒有改變
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

python--隨機函數(random,uniform,randint,randrange,shuffle,sample)