Python을 사용하여 동전 던지기 시뮬레이션

최근에 나는 동전 던지기에서 앞면이 나올 확률을 계산한 YouTube 동영상을 게시했습니다. 여기서 주의할 점은 최소 100만 번 이상 동전 던지기를 시뮬레이션하는 컴퓨터 프로그램을 사용하여 시연해야 한다는 것입니다. 여기에서 비디오를 볼 수 있습니다 -


수학적으로 말하면 사건의 확률은 다음 공식으로 계산됩니다.

Probability of an event = (Number of favorable events)/(Number of all possible events)(Number~of~favorable~events)/(Number~of~all~possible~events)



여기에서 이 시나리오에서 유리한 이벤트는 '머리'의 출현이고 가능한 모든 이벤트는 '머리 또는 꼬리' 면 중 하나입니다. 따라서 유리한 이벤트의 수는 1인 반면 가능한 모든 이벤트의 수는 2입니다. 따라서 확률 공식에 따라 대략 1/2 또는 50%의 확률을 얻습니다.

자, 이제 파이썬을 사용하여 시뮬레이션할 시간입니다. 움직이자 -

먼저 동전의 면을 무작위로 선택해야 하므로 random 모듈을 가져옵니다.

import random

이제 함수를 생성할 시간입니다. 이름을 experiment 로 지정합니다. 이 함수는 동전 던지기를 한 번 시뮬레이션하고 앞면이 나오면 1을, 뒷면이 나오면 0을 반환합니다.

def experiment():
    faces = ['T', 'H'] # all possible faces
    top_face = random.random(faces) # randomly choose a face

    if top_face == 'H': # Checking if we got a head
        return 1 # return 1 if success
    return 0 # otherwise return 0

이제 함수를 만들었으므로 백만 번 반복하여 테스트할 시간입니다.

headCounter = 0 # variable to count the number of times we get heads
# conduct the experiment a million times and count the heads
for _ in range(1000000):
    headCounter += experiment()
# Print the results as percentage of total number of iterations
print(f"The probability of getting head is {headCounter / 1000000 * 100}%")

내 테스트에서 50.0021% 및 50.0017%와 같이 계산과 일치하는 50에 가까운 숫자를 지속적으로 얻고 있습니다.

이 기사를 즐겼기를 바랍니다. 이 기사의 기반이 된 내 YouTube 비디오를 여기에서 볼 수도 있습니다.

감사합니다. 다음편에서 뵙겠습니다.

좋은 웹페이지 즐겨찾기