python numpy 隨機拋硬幣

2021-08-20 13:49:44 字數 1044 閱讀 2759



使用二項分布進行計算.同時拋棄

5枚硬幣,如果正面朝上少於

3枚,則輸掉

8元,否則就贏

8元。如果手中有

1000

元作為賭資,請問賭博

10000

次後可能會是什麼情況呢?

**實現:

import numpy as np#

匯入畫圖模組

from matplotlib.pyplot import plot,show#

匯入matplotlib

模組的畫圖和顯示函式

money=np.zeros(10000)#

先將賭博次數的每一次的

money

初始化為

0money[0]=1000#

表示剛開始有

1000

元現金result=np.random.binomial(5,0.5,size=len(money))#

二項分布的

10000

次成功的次數#遍歷

10000

數,更新每一次的

moeny

值儲存for i in range(1,len(money)):#從1

到10000

進行遍歷

ifresult[i]<3:

money[i]=money[i-1]-8

else:

money[i]=money[i-1]+8

print(result.min(),result.max())#列印5

次拋硬幣最多出現正面,和最少出現正面的次數

print(money.max(),money.min())#

列印可能出現錢最多,最少的情況

plot(np.arange(len(money)),money)#

畫圖show()#

顯示輸出結果:

輸出結果:

051000.0 -184.0

隨機數模擬拋硬幣實驗

在現實計算機上無法產生真正的隨機數,因此在隨機化演算法中使用的隨機數都是一定程度上隨機的,即偽隨機數。線性同餘法是產生偽隨機數最常用的方法 這裡不介紹 下面用計算機產生大的偽隨機數來模擬拋硬幣試驗。假設拋10次硬幣,每次拋硬幣得到正面和反面是隨機的。拋10次硬幣構成乙個事件。呼叫random 2 返...

python numpy中隨機數生成包random

1.numpy.random.randn 從標準正太分布中返回乙個樣本值 原型 numpy.random.randn d0,d1.dn 引數 d0,d1.dn 返回引數的維度,應該是整數,如果沒有引數,就返回乙個python float型的值 返回值 z n維陣列 形式為 d0,d1,dn 或者是乙...

Python numpy庫中的隨機數函式子庫

在使用該庫中的random函式時,參照以下格式 np.random.函式名 numpy隨機數函式 一 rand d0,d1,dn 根據d0 dn維度的形狀建立隨機數陣列,每個元素是 0,1 之間的浮點數,元素之間均勻分布,元素之間產生的概率相同。二 randn d0,d1,dn 根據d0 dn建立隨...