-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
print end 옵션 관련 질문입니다.
21.03.14 17:59 작성 조회수 280
1
강의 유용하게 잘 듣고 있습니다.
궁금한 점은,
end 옵션을 사용하는 이유가
계속해서 줄바꿈을 하면 문장을 읽기 어렵기에 그렇다고 한다면,
print('text text text', end=' ')
print('words words words')
이런식으로 적지 말고 차라리
print('text text text words words words') 처럼
한 print 문 안에 쭉 사용하면 될텐데,
저렇게 사용하는 이유는 따로 유용하게 쓰일 곳이 있어서겠죠?
혹시 다른 이유가 있으면 알려주시면 감사하겠습니다.
답변을 작성해보세요.
2
김경민
2021.03.14
안녕하세요!
강의에서 나와있듯, 파이썬의 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
질문자2021.03.15
아! 어느정도는 이해가 됩니다!
답변 정말 감사드립니다!
좀 더 배우다보면 말씀하신 부분을 완전히 이해할 날이 올거라고 생각합니다.
감사합니다!!
1
haon
2021.03.15
위분 답변과 같이 반복문에서 많이 사용하는데 예는 피라미드가 있습니다.
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('') #출바꿈하기
답변 2