この記事を三行にまとめると
サイコロを振るプログラム誕生日のパラドックス
検査陽性のパラドックス
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。
動画内ではHTMLやCSSも書いていますが、ここでは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