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

なぜか急に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
 もしかしたら何か関連しているかも? 
 みんなからのコメント 
まだコメントはいただけてないみたい……