###解決したいこと
Pythonで0,1,2どれが一番出るのか確率を調べているのですが、最後の方の結果の値が何度やっても変わりません。
これは確率的にこうなっているのか、プログラムのミスなのか、わかる方教えていただけますでしょうか。
###結果の値
(8300万回以下は省略) 【83000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【84000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【85000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【86000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【87000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【88000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【89000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【90000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【91000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【92000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【93000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【94000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【95000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【96000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.35 【97000000回目】勝つ確率 : 33.33 負ける確率 : 33.32 引き分けになる確率 : 33.35 【98000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.34 【99000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.34 【100000000回目】勝つ確率 : 33.33 負ける確率 : 33.33 引き分けになる確率 : 33.34
該当のソースコード
python
1import random 2 3count2 = 0 4count = 0 5win = 0 6lose = 0 7flat = 0 8for i in range(100000000): 9 count += 1 10 rand = random.randrange(3) 11 if rand == 0: 12 win += 1 13 elif rand == 1: 14 flat += 1 15 else: 16 lose += 1 17 if count == 1000000: 18 count2 += 1000000 19 win2 = win/count2*100 20 flat2 = flat/count2*100 21 lose2 = lose/count2*100 22 with open('result.txt', 'a', encoding='utf-8') as f: 23 f.write('【{}回目】勝つ確率 : {:.2f} 負ける確率 : {:.2f} 引き分けになる確率 : {:.2f}\n'.format(count2,win2,lose2,flat2)) 24 print('【{}回目】勝つ確率 : {:.2f} 負ける確率 : {:.2f} 引き分けになる確率 : {:.2f}\n'.format(count2,win2,lose2,flat2)) 25 count = 0 26f.close() 27
試したこと
count変数の値を変えた
0,1,2だけではなく、0,1,2,3,4 などと数字を増やした。
補足情報(FW/ツールのバージョンなど)
3.8.2
回答4件
あなたの回答
tips
プレビュー