python-for-coding-test icon indicating copy to clipboard operation
python-for-coding-test copied to clipboard

p.118 게임 개발 문제 질문 있습니다.

Open zoonun opened this issue 5 years ago • 1 comments

    # 회전한 이후 정면에 가보지 않은 칸이 존재하는 경우 이동
    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를 사용할 필요가 없어 보여서 질문드립니다.

zoonun avatar Sep 22 '20 16:09 zoonun

안녕하세요, @Gomyo 님.

좋은 질문 정말 감사합니다 :)

말씀하신 대로 해당 continue 구문이 없어도 동일한 결과가 출력됩니다.

저는 while 문 안에 2개 이상의 if 문 블록(block)이 존재하는 상황에서 앞쪽에 존재하는 if 문이 실행된 이후에 뒤쪽의 if 문이 실행되지 않을 것이 명확한 경우에 앞쪽 if 문 내부에 continue 구문을 명시적으로 넣어주는 코드 작성 습관이 있습니다.

그래서 이처럼 작성했으나, 말씀하신 대로 해당 continue 구문은 없어도 됩니다. 제가 더 교재에 상세한 설명을 실었어야 했는데, 불편을 드려 정말 죄송합니다. 혹시 추가적으로 궁금하신 내용이 있으시다면 코멘트 남겨주세요!

좋은 피드백 감사합니다. 나동빈 드림

ndb796 avatar Oct 24 '20 07:10 ndb796