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

Youngjae Choi님의 프로필 이미지
Youngjae Choi

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

파이썬 Print 사용법(1-2)

print end 옵션 관련 질문입니다.

작성

·

419

1

강의 유용하게 잘 듣고 있습니다.

궁금한 점은,

end 옵션을 사용하는 이유가
계속해서 줄바꿈을 하면 문장을 읽기 어렵기에 그렇다고 한다면,

print('text text text', end=' ')
print('words words words')

이런식으로 적지 말고 차라리

print('text text text words words words') 처럼
한 print 문 안에 쭉 사용하면 될텐데,
저렇게 사용하는 이유는 따로 유용하게 쓰일 곳이 있어서겠죠?

혹시 다른 이유가 있으면 알려주시면 감사하겠습니다.

답변 2

2

안녕하세요!

강의에서 나와있듯, 파이썬의 print함수는 기본적으로 엔터가 들어갑니다.

질문자님께서 말씀해주신 대로

두세번에 나눠서 출력할 문장을 한 번에 출력할 수 있다면 굳이 end 옵션을 줄 이유는 없습니다.

end 옵션으로 줄바꿈을 생략이 유용하게 쓰일 경우 중, 쉬운 예시를 들어본다면

단어들로 이루어진 list를 반복문을 통해 순회하는 경우가 있습니다.

예를들어, 

words = ["i", "love", "you", "so", "much"]

이때 각 단어들을 모두 대문자로 바꿔서, 한 줄의 문장으로 출력하고 싶다면

for w in words:

  print(w.upper( ) )

와 같이 쓴다면 단어 하나하나마다 줄바꿈이 되어서 보기 불편하겠죠?

print("I LOVE YOU SO MUCH")

와 같이 프로그래머가 문장을 직접 입력하여 사용하기 어려운 이유는

list 안에 어떤 단어들이, 몇개나 있는지 그때그때 달라질 수 있기 때문에

유연함이 낮아진다고 생각합니다.

또한 end 옵션에 띄어쓰기 뿐 아니라

' - '와 같은 문자를 설정해서 010-1234-5678과 같이 특정 양식에 맞는

문자열을 만들 수도 있기에 end 옵션을 사용한다고 생각합니다.

Youngjae Choi님의 프로필 이미지
Youngjae Choi
질문자

아! 어느정도는 이해가 됩니다!
답변 정말 감사드립니다!
좀 더 배우다보면 말씀하신 부분을 완전히 이해할 날이 올거라고 생각합니다.
감사합니다!!

도움이 되셨다면 다행입니다!

1

위분 답변과 같이 반복문에서 많이 사용하는데 예는 피라미드가 있습니다.

n = int(input()) #n를 정수로 입력받기
for i in range(1,n+1): #1~n번반복하기
	for k in range(i,n): #i~n번반복하기
		print(' ', end='') #공백출력하기
	for k in range(0,i*2-1): #0~i*2-1번반복하기
		print('*', end='') #별을 줄바꿈없이 출력하기
	print('') #출바꿈하기
Youngjae Choi님의 프로필 이미지
Youngjae Choi
질문자

적어주신 코드가 아직 이해는 안가지만, 반복문을 배우고 적어주신 코드를 리뷰하도록 하겠습니다!

답변해주셔서 정말 감사드립니다!

Youngjae Choi님의 프로필 이미지
Youngjae Choi

작성한 질문수

질문하기