(문제)
동전 던지기 횟수를 입력 받아, 아래와 같이 정해진 횟수마다 앞면이 나온 확률을 출력하는 프로그램 제작할 것.
1) 1-10회는 매 횟수마다 출력하고, 11-100회는 10단위마다 출력
2) 함수는 던지기 횟수를 인수로 받으며 앞면이 나온 횟수를 반환
3) 동전 던지기는 random 모듈의 randint ()함수를 사용하여 0이면 앞면, 1이면 뒷면이라고 가정
4) 마지막의 총 ~번 동전 던지기의 확률 출력은 메인에서 함
5) 반복문으로 코딩 가능한 부분은 반드시 반복문을 이용함
[출력]
동전 던지기 시도 횟수를 입력 (1~100) :52
1번째까지 던지기에서 앞면이 나온 확률 : 0%
2번째까지 던지기에서 앞면이 나온 확률: 50%
3번째까지 던지기에서 앞면이 나온 확률: 66%
4번째까지 던지기에서 앞면이 나온 확률: 75 %
5번째까지 던지기에서 앞면이 나온 확률 : 60%
6번째까지 던지기에서 앞면이 나온 확률: 50%
7번째까지 던지기에서 앞면이 나온 확률: 57%
8번째까지 던지기에서 앞면이 나온 확률: 62 %
9번째까지 던지기에서 앞면이 나온 확률: 55%
10번째까지 던지기에서 앞면이 나온 확률: 60%
20번째까지 던지기에서 앞면이 나온 확률: 65%
30번째까지 던지기에서 앞면이 나온 확률: 53%
40번째까지 던지기에서 앞면이 나온 확률: 52%
50번째까지 던지기에서 앞면이 나온 확률: 54%
***********************************************
총 52번 동전 던지기에서 앞면이 나올 확률: 53%
(방법)
import random
n = int(input('동전 던지기 시도 횟수를 입력 (1~100) :')) # 횟수 입력. 문자열을 정수로 변환
cnt = 0 # 앞명 횟수
p = 0 # 확률 결과 변수
for i in range(1, n+1): # 횟수 만큼 반복. 1~1n+1을 출력할 번호 게산을 편하게 하기 위함
s = random.randint(0, 1) # 0 :앞면, 1:뒷면
if s == 0:
cnt += 1 # 앞면일때 Coun
p = cnt * 100 / n # 앞명일때 확룔 계산
if i <= 10 or (i>10 and i%10 == 0): # 1~10일때는 매번, 10보다 크면 10단위일때만 출력
print(f"{i}번째까지 던지기에서 앞면이 나온 확률 : {p:.0f}%")
print('*'*50) # *를 50번 출력
print(f"총 {n}번 동전 던지기에서 앞면이 나올 확률: {p:.0f}%") # 결과 출력
'프로그램' 카테고리의 다른 글
[파이썬] 두 날짜의 빼기(days) (0) | 2022.12.01 |
---|---|
[파이썬] 문제 : 이미지의 픽셀 색 변경 (0) | 2022.12.01 |
[파이썬] 문제 : 음료수 자판기 프로그램 (0) | 2022.11.30 |
[파이썬] 문제 : 학생 3일 달리기 기록 평균하여 내림차순 정렬 (0) | 2022.11.30 |
[파이썬] 문제 : numpy 2차원 배열에서 원소의 전체합,행열 방향 합 구하기 (0) | 2022.11.30 |
댓글