コールバック関数や、秘密鍵/公開鍵のコンセプトも長いあいだ、理解できなかった。けれど、文章ではなく、じっさいにプログラミングを記述してみて、「あ」と思ったりしたわけ。
分かりにくい確率や期待値も、そうかもな。というわけで、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
# 期待値は、宝くじの購入金額を下回る