python-for-coding-test
python-for-coding-test copied to clipboard
p.118 게임 개발 문제 질문 있습니다.
# 회전한 이후 정면에 가보지 않은 칸이 존재하는 경우 이동
if d[nx][ny] == 0 and array[nx][ny] == 0:
d[nx][ny] = 1
x = nx
y = ny
count += 1
turn_time = 0
continue
41번 라인의 continue를 사용하신 의도가 궁금합니다. while문이기 때문에 continue 없이도 다시 반복되고, 해당 if 문 안에 들어간 이상 turn_time 변수도 초기화 되어 continue를 사용할 필요가 없어 보여서 질문드립니다.
안녕하세요, @Gomyo 님.
좋은 질문 정말 감사합니다 :)
말씀하신 대로 해당 continue 구문이 없어도 동일한 결과가 출력됩니다.
저는 while 문 안에 2개 이상의 if 문 블록(block)이 존재하는 상황에서 앞쪽에 존재하는 if 문이 실행된 이후에 뒤쪽의 if 문이 실행되지 않을 것이 명확한 경우에 앞쪽 if 문 내부에 continue 구문을 명시적으로 넣어주는 코드 작성 습관이 있습니다.
그래서 이처럼 작성했으나, 말씀하신 대로 해당 continue 구문은 없어도 됩니다. 제가 더 교재에 상세한 설명을 실었어야 했는데, 불편을 드려 정말 죄송합니다. 혹시 추가적으로 궁금하신 내용이 있으시다면 코멘트 남겨주세요!
좋은 피드백 감사합니다. 나동빈 드림