プログラマなら自由研究もプログラミングでやっちゃうよね?

この記事はだいぶ前に書かれたものなので情報が古いかもしれません
なぜか急にPythonと数学に目覚めた

この記事を三行にまとめると

サイコロを振るプログラム
誕生日のパラドックス
検査陽性のパラドックス
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。

動画内ではHTMLやCSSも書いていますが、ここではPython部分だけを紹介します。





サイコロを振るプログラム

import random

result = {i: 0 for i in range(1, 7)}

count = 1000000
for n in range(count):
  dice = random.randint(1, 6)
  result[dice] += 1

def percent(num):
  return str(round(num / count * 100, 2)) + '%'



誕生日のパラドックス

import datetime, random

lists = []
for n in range(365):
  d = datetime.date(2022, 1, 1) + datetime.timedelta(days = n)
  lists.append(d.strftime('%m%d'))

member = 23
duplicate = 0
count = 10000

for i in range(count):
  birthday = []
  for m in range(member):
    birthday.append(random.choice(lists))

  birthday = set(birthday)
  if len(birthday) < member:
    duplicate += 1



検査陽性のパラドックス

import random

sick = ['n' for i in range(9999)]
sick.append('y')

test = ['c' for i in range(99)]
test.append('w')

result = {'nc': 0, 'nw': 0, 'yc': 0, 'yw': 0}

count = 10000
for n in range(count):
  member = random.choice(sick)
  react = random.choice(test)
  pattern = member + react
  result[pattern] += 1
 もしかしたら何か関連しているかも? 
 質問や感想などお気軽にコメントしてください