python3實現隨機數,供大家參考,具體內容如下
random是用於生成隨機數的,我們可以利用它隨機生成數字或者選擇字串。
random.seed(x)改變隨機數生成器的種子seed。
一般不必特別去設定seed,python會自動選擇程式設計客棧seed。
random.random() 用於生成乙個隨機浮點數n,0 <= n < 1
random.uniform(a,b) 用於生成乙個指定範圍內的隨機浮點數,生成的隨機整數a<=n<=b;
random.randint(a,b)
用於生成乙個指定範圍內的整數,a為下限,b為上限,生成的隨機整數a<=n<=b;若a=b,則n=a;若a>b,報錯
random.randrange([start], stop [,step])
從指定範圍[start,stop)內,按指定基數遞增的集合中獲取乙個隨機數,基數預設值為1
random.choice(sequence)
從序列中獲取乙個隨機元素,引數sequence表示乙個有序型別,並不是一種特定型別,泛指list,tuple,字串等
random.shuffle(x[,random]) 用於將乙個列表中的元素打亂(洗牌),會改變原始列表
random.sample(sequence,k) 從指定序列中隨機獲取k個元素作為乙個片段返回,不會改變原有序列
但是,有一點需要注意:python random是偽隨機數。
那麼,可以借用python random實現真隨機數嗎?答案是no。所謂真隨機數,是要求根據絕對隨機事件產生的數,也就是說要求要有乙個無因果關係的隨機事件,那麼,這玩意只存在與哲學領域……
目前的隨機數產生都是統計上的隨機,因為隨機源都是自然事件,頂天了算是混沌變數,絕對的無因果大概是不存在的。
不過統計隨機基本上都夠用了吧……
還是老老實實的用random模組吧….
**演示
import random
#隨機整數
import string
print(random.randint(0,99))
#隨機選取0到100間的偶數
print(random.randrange(0, 101, 2))
#隨機浮點數
print(random.random())
print(random.uniform(tajevrq1, 10))
#隨機字元
print(random.choice('abcdefg%^*f'))
#多個字元中選取特定數量的字元
p程式設計客棧rint(random.sample('abcdefghij',3))
#多個字程式設計客棧符中選取特定數量的字元組成新字串
# print(string.join(random.sample(['a','b','c','d','e',程式設計客棧'f','g','h','i','j'], 3)).replace(" ",""))
#隨機選取字串
print(random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] ))
#洗牌items = [1, 2, 3, 4, 5, 6]
random.shuffle(items)
print("洗牌:", items)
#從指定序列中隨機獲取k個元素作為乙個片段返回,不會改變原有序列
list =
list = random.sample(items,2)
print(list)
結果 本文標題: python3實現隨機數
本文位址:
Python3學習 隨機數生成和random函式
本文將對python3中 random函式的多種用法做簡要介紹。作用 返回乙個範圍在 0,1 0,10,1 內的隨機數。例 import random print random number is random.random 作用 在指定範圍內生成隨機數。語法 random.uniform 下界,上...
實現隨機數
func seed seed int64 該函式設定隨機種子,若不呼叫此函式設定隨機種子,則預設的種子值為1,由於隨機演算法是固定的,如果每次都以1作為隨機種子開始產生隨機數,則結果都是一樣的,因此一般都需要呼叫此函式來設定隨機種子,通常的做法是以當前時間作為隨機種子,以保證每次隨機種子都不同,從而...
Python3 隨機數模組 random
import random 用於生成乙個0到1的隨機浮點數 0 n 1.0 num1 random.random 用於生成乙個指定範圍內的隨機浮點數,兩個引數其中乙個是上限,乙個是下限。如果 a b,則生成的隨機數 n b n a。如果 a b,則 a n b。num2 random.uniform...