본문 바로가기
프로그램

[파이썬] 문제 : 주사위 3번 던져서 합을 구하는데 1 이면 다음번 수는 합하지 않고 6이면 다음번 수는 2배로 합 구하기

by 오디세이99 2023. 5. 9.
728x90
반응형

import random

def run():                           # 함수로 만듬
    n_sum = 0                        # 합계 변수
    n1 = random.randint(1, 6)        # 난수로 1~6 생성, n1, n2, n3 3개의 난수
    n2 = random.randint(1, 6)
    n3 = random.randint(1, 6)

    if n1 == 1 and n2 != 1:        # 첫번째 수가 1 이이고 두번째 수가 1 이 아니면 첫번쨰+세번째만 합
        n_sum = n1 + n3
    elif n1 == 1 and n2 == 1:      # 첫번째 수가 1이고 두번째 수도 1이면 첫번째 수만
        n_sum = n1
    elif n1 != 1 and n2 == 1:      # 첫번째 수가 1이 아니고 두번째 수가 1 이면 첫번째와 두번째만 합
        n_sum = n1 + n2
    elif n1 == 6 and n2 != 1:      # 첫번째 수가 6 이고 두번째 수가 1 이 아니면 두번째 수를 2배 해서 합
        n_sum = n1 + (n2*2) + n3
    elif n1 == 6 and n2 == 1:      # 첫번째 수가 6 이면 두번째 수가 1 이면 두번째 2배 해서 합하고 세번째는 합에게 제외
        n_sum = n1 + (n2*2)
    elif n1 != 1 and n2 == 6:      # 첫번쨰 수가 1 이 아니고 두번째 수가 6 이면 세번째 수 2배 합
        n_sum = n1 + n2 + (n3*2)
    else:                           # 그외 조건 모두 합
        n_sum = n1 + n2  + n3
    print(n1,',',n2,',',n3,'->',n_sum)

run()

 

검증

20번 실행해서 검증

for i in range(20):
    run()

728x90
반응형

댓글