[프로그래밍 언어 & Tool]/Python

[어서와 파이썬은 처음이지] 3장 06번 문제 코드 +풀이 포함

우당탕탕 개발 일지 2025. 4. 12. 23:39

동기가 보낸준 문제 풀어보다 주의할 부분이 있어 올립니다.! 우당탕탕 개발일지 입니다~

 

 

 

주의할 부분

1.  1이 나오면 다음 값이 뭐가 나와도 0이 되는 것이다. -> 주사위 값 자체가 변함 

2.  6이 나오면 합할때만 다음 값을 2배 해줘야 한다. -> 주사위 값 자체가 변하는 것은 아님

3. 6일 경우 다음 값이 1또는 6일 수도 있음. -> 그럼 그 다음 값도 조건 처리 해줘야함. 

 

import random

l = []
sum = 0


for i in range(3):
    r = random.randint(1, 6)
    l.append(r)
    print( r)

i=0

while(i<3):
    if l[i] == 1 and (i + 1 < len(l)): 
        l[i + 1] = 0
        sum += 1
        i+=1
    elif l[i] == 6 and (i + 1 < len(l)): 
        sum += l[i + 1] * 2
        sum += 6
        i+=2
    else:
        sum += l[i]
        i+=1

print(f" Sum: {sum}")

 

코드 설명

1. 먼저 랜던 값을 list로 저장함. _ 1의 경우 다음 번 값만 0으로 바꿔주면 됨.

2.  1 과 6이 3번째 주사위 값일 경우는 조건문 처리 안해도 되기 때문에 그 부분 and로 추가.

3. 6인 경우 다음 값을 2배 해서 더하기 때문에 그 다음 값을 다시 더할 필요 없이 건너 뜀. -> i+=2 

 

 

 

 

728x90