인프런 커뮤니티 질문&답변

lse8189님의 프로필 이미지
lse8189

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 반복문 익히기2

Practice 58번 예제 반복문이요

작성

·

52

0

선생님 코드를 화면에서는 결과값 55만 출력이 되는데

같은 코드로 주피터에서 실행하니 1 3 6 ... 55까지 전부 출력 되는데 왜 55만 출력되지 않는 걸까요?

sum = 0

for index in range(1, 11):

sum = sum + index

print (sum

1.PNG

 

2.PNG

)

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

lse8189님의 질문에 대해 답변드리겠습니다.

주피터 노트북에서 코드를 실행했을 때 1, 3, 6, …, 55까지 전부 출력되는 현상은 print(sum) 문을 반복문 안에서 실행하기 때문입니다. 반복문 내부에서 print 문을 사용하면, 반복문이 실행될 때마다 현재까지의 합계를 출력합니다. 즉, 각 반복의 단계마다 sum의 값을 출력하므로 1부터 시작하여 마지막 55까지 모든 중간 합계가 출력되는 것입니다.

결과값이 55만 출력되길 원한다면, print(sum) 문을 for 반복문의 밖으로 이동시켜야 합니다. 이렇게 하면 반복문이 모두 실행된 후 최종 합계인 55만 출력됩니다.

아래는 수정된 코드 예제입니다.

sum = 0
for index in range(1, 11):
    sum = sum + index
print(sum)  # 이 줄을 반복문 밖으로 이동

실제로 유사한 질문으로, for ~ print 질문드립니다! 게시글에서 해결 방법을 확인할 수 있습니다. 강의에서 print(sum)의 위치에 따라 결과값이 확연하게 차이가 납니다. 첫 번째 예시는 for 구문 밖에 print 문을 사용하여 모든 반복이 끝난 후에 최종 합계를 출력합니다. 반면, 두 번째 예시에서는 for 구문 안에 print 문을 사용하여 반복할 때마다 즉시 sum의 값을 출력합니다. 이 차이점을 이해하는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

lse8189님의 프로필 이미지
lse8189
질문자

정확히 이해되었습니다 감사합니다 :)

lse8189님의 프로필 이미지
lse8189

작성한 질문수

질문하기