답변 2
0
지금 반복문이 2개입니다.
첫 번째 반복문에서는 0, 1, 2가 나옵니다.
그럼 0일 때 전체를 다 수행하고 그 다음에 1로 넘어가는 것입니다.
i가 0일 때 j를 0으로 초기화하고 시작해봅시다.
j < 3인가요? 처음에는 0이니 맞습니다. 아래로 가서 *를 하나 출력하고 개행하지 않고 한 칸을 띄라네요. (end 옵션) 그리고 아래에서 j를 1 증가시킵니다. ( j가 0 -> 1 )
j < 3인가요? 현재 1이니까 맞습니다. 아래로 가서 *를 하나 출력하고 개행하지 않고..
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
매개변수에 대한 자세한 설명과 출력 예시를 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.