책 내용 질문하기
파이썬 while문 질문있습니다
도서
2020 시나공 정보처리기능사 실기 : NCS 기반 전면 개편
페이지
193
조회수
233
작성일
2020-11-03
작성자
탈퇴*원
첨부파일

193페이지의 while문 예제를 보면 1~5까지의 합을 구하는 프로그램이 설명되어있습니다

여기서 i가 5보다 작을때까지 반복하여 수행하여 1+2+3+4+5를 계산한다고 나와있습니다.

5는 5보다 작은 숫자가 아니기에 1+2+3+4까지 되는 것이 아닌가요?

1+2+3+4+5까지 하려면 2번 문장에서 while i <=5:가 되어야 하는게  아닌가요? 

답변
2020-11-04 10:32:52

안녕하세요 길벗수험서 운영팀입니다.

 

프로그램 코드는 항상 위에서 부터 순차적으로 수행됨을 기억하세요.

 

i가 4가 되었을 때 hap에 i를 더하고 2번으로 돌아갔다고 가정하죠.

이때 i는 여전히 4의 값을 가지고 있으므로 4<5는 참이 되어 다음 3~4번 코드를 수행하게 됩니다.

그럼 3번에서는 i에 1을 더해 i는 5가 되겠고,

hap은 i의 값 5를 더할 것입니다.

이후 다시 2번으로 돌아가 5<5 조건이 참인지 확인할 테고, 이때야 거짓이 되어 3~4번을 수행하지 않고 5번으로 가게 됩니다.

 

때문에 해당 코드는 1~5까지의 값을 더하게 되는 것이죠.

 

행복한 하루되세요 :)

  • 관리자
    2020-11-04 10:32:52

    안녕하세요 길벗수험서 운영팀입니다.

     

    프로그램 코드는 항상 위에서 부터 순차적으로 수행됨을 기억하세요.

     

    i가 4가 되었을 때 hap에 i를 더하고 2번으로 돌아갔다고 가정하죠.

    이때 i는 여전히 4의 값을 가지고 있으므로 4<5는 참이 되어 다음 3~4번 코드를 수행하게 됩니다.

    그럼 3번에서는 i에 1을 더해 i는 5가 되겠고,

    hap은 i의 값 5를 더할 것입니다.

    이후 다시 2번으로 돌아가 5<5 조건이 참인지 확인할 테고, 이때야 거짓이 되어 3~4번을 수행하지 않고 5번으로 가게 됩니다.

     

    때문에 해당 코드는 1~5까지의 값을 더하게 되는 것이죠.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.