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