1%で当たるクジを100回引いて当たる確率はどれくらい?Pythonでシュミレーションしてみた
どうもこんにちわ
1%で当たるクジを100回引いて当たる確率はどれくらい?Pythonでシュミレーションしてみた
前々から気になっていた確率なのですが、どういう事かと言いますと。
・クジが100枚あるよ!
・この中に1枚当たりがあるよ!(他の99枚は外れだよ...)
・目を閉じて、好きなの1つ選んで!⇒中身を確認したらクジを戻す!
上記を100回繰り返したとき、一度もあたりがでない(# ゚Д゚)!!時もあれば、
当たりが何回も出る( *´艸`)!ってときもありますね!
という事で、この確率を前々から気になっていまして、シュミレーション用のプログラムを書いて調査してみました!!
(※ここでようやく、独学でお勉強してきたPythonプログラミングが役に立つときが来たぞ!!)
まぁこの手の確率はパチンコとかスロットとかでよくあるやつですな~
当選率1/100!と書いてあっても、当たるときもあれば当たらないときもある...
気になるその結果は...!!
結論:約67%
※コードは記事末尾に貼っておきます
まぁまぁ妥当な結果じゃね?っていう感じ。笑
右下のLn:を見るとわかりますが、10000回試行してますね。果てしない。
コードを書くのに約10分、待つこと約10分。計算するよりか全然早くて的確!
まぁこんなの明日にはすぐ忘れてるかもしれませんが、生活で役立つ可能性も0じゃない(特にギャンブラーは使う率高いかも!?)
ご参考までにどうぞ!!
ちなみに書いたコードを下記に置いておくので興味ある方はどうぞ。
インデントは気にしない!
-------------------------------------------------------------------------------------------------------------------
import random
allget = 0
counter = 0
allcount=0
trycount = 0
miss=0
while trycount < 100:
get = 0
counter = 0
while counter < 100:
counter+=1
x=random.randint(1,100)
if x==49:
print('☆')
get += 1
allget += 1
allcount += 1
else:
print('×')
allcount += 1
if get == 0:
miss += 1
trycount += 1
print(trycount,'回目終了\n')
else:
trycount += 1
print(trycount,'回目終了\n')
bunbo = trycount * 100
Winrate = allget / bunbo * 100
dameritu=miss / trycount * 100
okritu=100-miss
print('1%を100回試行したときに当たる確率は',okritu,"%")
print('当選率は',Winrate,'でした\n')
print('全体=',counter)
print('当選数=',allget)
print('全試行数=',allcount)
end = input('おわり')
-------------------------------------------------------------------------------------------------------------------