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

sally950420님의 프로필 이미지
sally950420

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

반복문과 range

반복문 질문

해결된 질문

작성

·

53

0

5:50

반복문에서 질문있습니다.

print("*" , end= " ") 인데 *가 왜 3개씩 찍히는건가요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

지금 반복문이 2개입니다.

첫 번째 반복문에서는 0, 1, 2가 나옵니다.

그럼 0일 때 전체를 다 수행하고 그 다음에 1로 넘어가는 것입니다.

 

i가 0일 때 j를 0으로 초기화하고 시작해봅시다.

  1. j < 3인가요? 처음에는 0이니 맞습니다. 아래로 가서 *를 하나 출력하고 개행하지 않고 한 칸을 띄라네요. (end 옵션) 그리고 아래에서 j를 1 증가시킵니다. ( j가 0 -> 1 )

  2. j < 3인가요? 현재 1이니까 맞습니다. 아래로 가서 *를 하나 출력하고 개행하지 않고..

  3. j < 3인가요? 현재 2이니까 맞습니다. 아래로 가서 *를 하나...

그 다음에 j < 3 인가요? 이제 아닙니다. j는 3이기 때문에 False 입니다.

이제는 while을 충족하지 않으니까 빠져 나갑니다.

그럼 while문이 아닌 아래로 내려갑니다. 일반 print()문은 아무것도 출력하지 않지만 "개행"은 합니다.

왜냐하면 파이썬의 print는 기본이 end="\n"가 생략되어 있습니다.


현재 완성된 것은

***(개행)입니다.

 

이렇게 i를 0부터 1로 증가시킵니다.

i가 0일 때, 1일 때, 2일 때 이렇게 총 3번 됩니다.

그래서 ***가 세 줄 찍힙니다.

 

이해에 도움이 되셨기를 바랍니다.

0

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

반복문 내에서 print("*", end=" ")라는 부분에 대해 질문해 주셨네요. 이 부분이 왜 ‘*‘가 3번 출력되는지에 대해 설명드리겠습니다.

파이썬의 print 함수는 기본적으로 출력 후 줄 바꿈(개행)을 수행합니다. 그러나 end 파라미터를 사용하면 이 동작을 변경할 수 있습니다. 예를 들어, end=" "는 줄 바꿈 대신 출력 뒤에 공백을 덧붙이겠다는 것을 의미합니다.

이 코드가 반복문에서 사용되었다면, 반복문이 몇 번 실행되는지에 따라 ““의 개수가 결정됩니다. 보통 for i in range(3): 같은 구조가 있을 때, 이 코드는 ‘‘를 3번 출력하게 됩니다. 각 별표 뒤에 end=" " 때문에 공백이 추가되며, 새로운 줄이 동작하지 않기 때문에 별표가 한 줄에 연속적으로 찍힐 것입니다.

관련된 내용을 더 확인하고 싶으시면 다음 질문들을 참고하시면 도움이 될 것 같습니다:

이 게시물에서는 end 매개변수에 대한 자세한 설명과 출력 예시를 확인하실 수 있습니다.

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

sally950420님의 프로필 이미지
sally950420

작성한 질문수

질문하기