pythonによる期待値

コールバック関数や、秘密鍵/公開鍵のコンセプトも長いあいだ、理解できなかった。けれど、文章ではなく、じっさいにプログラミングを記述してみて、「あ」と思ったりしたわけ。

分かりにくい確率や期待値も、そうかもな。というわけで、pythonでやってみた。

# サイコロの期待値 
# 加算入演算子を使った場合 
dice=[1,2,3,4,5,6] 
ex=0 p=1/len(dice) 
for i in dice: 
  eve = p*i 
  ev += eve 
print('サイコロの期待値は',ex) サイコロの期待値は3.5 

# sum関数を利用した場合 
ev=[] for x in dice: 
   eve=p*x ev.append(eve) 
print('サイコロの期待値は',sum(ev)) サイコロの期待値は3.5 

# 宝くじの期待値 
number=[7,14,903,5,645,130,130,1300,26000,1300000,11670866] 
total=sum(number) 

# リストを整数では割れない。なのでnp.arrayとする
import numpy as np 
number=np.array(number) 
p=number/total winnings=[4*10**7,1*10**7,2*10**5,1*10**7,1*10**5,1*10*6,1.4*10**5,1*10**4,1*10**3,2*10 **2,0] 
eve=p*winnings print('200円の宝くじを買ったときの期待値は',sum(eve)) 
200円の宝くじを買ったときの期待値は 79.4082923076923 

# 期待値は、宝くじの購入金額を下回る

気づいたことを、お気軽に。
公開まで、やや時間がかかりまーす!