使用二項分布進行計算.同時拋棄
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建立隨...