Python 實現隨機數詳解及執行個體代碼,python隨機數
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 stringprint(random.randint(0,99))#隨機選取0到100間的偶數print(random.randrange(0, 101, 2))#隨機浮點數print(random.random())print(random.uniform(1, 10))#隨機字元print(random.choice('abcdefg&#%^*f'))#多個字元中選取特定數量的字元print(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)
結果
感謝閱讀,希望能協助到大家,謝謝大家對本站的支援!