혜리 답
#1차. 각각의 뒷면 횟수가 나올
확률 구하기
def coin_prob(N):
import numpy as np
import matplotlib.pyplot as plt
import random
import math
coin=['앞면', '뒷면']
chaos=0
for i in range(100000):
count=0
for j in range(10):
if random.choice(coin)=='뒷면':
count+=1
if count==N:
chaos+=1
return chaos/100000
x = []
y = []
for N in range(11):
#print('동전을 10번 던져서 뒷면이', N, '개 나올 확률은',
coin_prob(N), '입니다')
y.append(coin_prob(N))
x.append(N)
#2차. 각각의 뒷면 횟수가 나올 확률의 평균과 표준편차 구하기
def coin_hypo(N):
import numpy as np
import matplotlib.pyplot as plt
import random
import math
m = []
for k in range(len(x)):
m.append(x[k] * y[k])
mu=np.sum(m)
var = []
for k in range(len(x)):
var.append( ( (x[k] - mu)**2 ) *y[k] )
var_s = np.sum(var)
sigma= math.sqrt(var_s)
x_low=mu-(sigma*1.96)
x_high=mu+(sigma*1.96)
n_groups = len(x) #12 n_groups 할당
index = np.arange(n_groups) #0~11 리스트화
#3차. 막대그래프 그리기
plt.bar(index, y, tick_label=x,
align='center', color='red') #막대그래프 시각화 코드
plt.xlabel('# of H') #x축 라벨 이름
plt.ylabel('probability') #y축 라벨 이름
plt.title('Coin probability') #그래프 제목
plt.xlim( -1, n_groups) #x축 눈금
plt.ylim( 0, 0.3) #y축 눈금
if x_low <= N <= x_high:
print('동전을 10번 던졌을 때 뒷면이 나오는 횟수가', N,
'번 나올 확률은 신뢰구간 95% 안에 있습니다')
else:
print('동전을 10번 던졌을 때 뒷면이 나오는 횟수가', N,
'번 나올 확률은 신뢰구간 95% 안에 없습니다')
plt.show() #그래프를
보여주세요!