매일공부

[python] 파이썬 주사위 예제; list, set 본문

Programming/Python

[python] 파이썬 주사위 예제; list, set

aram 2022. 8. 21. 22:08

Q. 주사위를 10번 던져서 각 숫자가 몇 번씩 나왔는지 알아보려 한다. 리스트를 활용하여 리스트에 각 주사위를 던져 나온 숫자의 개수를 저장하고 출력하시오.

import random
dice = []
for i in range(10): 
    dice.append(random.randint(1, 6))

print("1이 나온 개수 :", dice.count(1))
print("2이 나온 개수 :", dice.count(2))
print("3이 나온 개수 :", dice.count(3))
print("4이 나온 개수 :", dice.count(4))
print("5이 나온 개수 :", dice.count(5))
print("6이 나온 개수 :", dice.count(6))
1이 나온 개수 : 3
2이 나온 개수 : 2
3이 나온 개수 : 1
4이 나온 개수 : 1
5이 나온 개수 : 3
6이 나온 개수 : 0

 

Q. 같은 숫자가 나올 때까지 주사위 6개를 동시에 무한 반복해서 던진다. 같은 숫자가 나올 때까지 몇 번 던졌는지, 1부터 6까지 연속된 숫자는 몇 번 나왔는지 출력하는  프로그램 코드를 작성하시오.
[Sample Run] 
6개 주사위가 모두 동일한 숫자가 나옴 --> 2 2 2 2 2 2
6개가 동일한 숫자가 나올 때까지 주사위를 던진 횟수 --> 10652
6개가  동일한 숫자가 나올 때까지 1 ~6의 연속번호가 나온 횟수 --> 172

import random

count = 0      #총 주사위 던진 횟 수
count_set = 0  #1~6까지 연속번호가 나온 횟수
while True:
    dice = set()
    for _ in range(6): 
        dice.add(random.randint(1, 6))
    count += 1 
    
    if len(dice) == 1:
        break
    elif len(dice) == 6:
        count_set += 1
        continue
    else:
        continue

print(f"6개 주사위가 모두 동일한 {dice}이(가) 나옴")
print("주사위를 던진 횟수:", count)
print("1~6의 연속번호가 나온 횟수:", count_set)
6개 주사위가 모두 동일한 {4}이(가) 나옴
주사위를 던진 횟수: 3711
1~6의 연속번호가 나온 횟수: 57

 

728x90
Comments