동기가 보낸준 문제 풀어보다 주의할 부분이 있어 올립니다.! 우당탕탕 개발일지 입니다~
주의할 부분
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
'[프로그래밍 언어 & Tool] > Python' 카테고리의 다른 글
[python] 순차 탐색 알고리즘, 이진 탐색 알고리즘 (0) | 2024.09.29 |
---|---|
Python 이중 리스트 입력/삭제/추가/검색/정렬/최대,최소 (0) | 2024.05.14 |
따라하며 배우는 파이썬과 데이터 과학(개정판)_ch9 Lab, 도전문제 문제풀이 (2) | 2024.05.09 |
따라하며 배우는 파이썬과 데이터 과학(개정판)_ch5 문제풀이 (1) | 2024.05.01 |
따라하며 배우는 파이썬과 데이터 과학(개정판)_ch4 문제풀이 (0) | 2024.04.27 |