스택큐힙리스트

한 줄 안에 여러 개의 것 (고정된 텍스트와/또는 변수 값)을 한꺼번에 인쇄하는 방법은 무엇인가요? 본문

카테고리 없음

한 줄 안에 여러 개의 것 (고정된 텍스트와/또는 변수 값)을 한꺼번에 인쇄하는 방법은 무엇인가요?

스택큐힙리스트 2023. 4. 18. 06:13
반응형

저는 다음과 같은 코드를 가지고 있습니다:

score = 100

name = 'Alice'

print('Total score for %s is %s', name, score)

나는 Total score for Alice is 100를 출력하길 원했지만 대신 Total score for %s is %s Alice 100이 출력됩니다. 모든 것을 올바른 순서와 올바른 서식으로 인쇄하는 방법은 무엇인가요?

참고: How can I print multiple things on the same line, one at a time?; How do I put a variable’s value inside a string (interpolate it into the string)? 도 참조하세요.

답변 1

이 작업을 수행하는 방법은 다양합니다. % -포맷을 사용하여 현재 코드를 수정하려면 튜플을 전달해야 합니다.

튜플 형태로 전달하십시오.

print(Total score for %s is %s % (name, score))

하나의 요소를 가진 튜플은 ('this',)와(과) 같은 모습입니다.

다른 일반적인 방법들은 다음과 같습니다:

이것을 사전으로 전달하십시오.

print(Total score for %(n)s is %(s)s % {'n': name, 's': score})

새로운 형식의 문자열 포맷팅도 있습니다. 이것은 좀 더 읽기 쉬울 수 있습니다.

새로운 스타일의 문자열 포메팅을 사용하세요:

print(Total score for {} is {}.format(name, score))

숫자와 함께 새로운 스타일의 문자열 포맷팅을 사용하면(재정렬 또는 동일한 것을 여러 번 인쇄하는 데 유용함):

print(Total score for {0} is {1}.format(name, score))

명시적인 이름을 사용한 새로운 스타일의 문자열 포맷팅 사용:

print(Total score for {n} is {s}.format(n=name, s=score))

문자열 연결하기:

print(Total score for + str(name) + is + str(score))

내 의견상 가장 명확한 두 가지는:

값을 매개 변수로 전달하십시오.

print(Total score for, name, is, score)

위의 예시에서 print이 자동으로 공백을 삽입하지 않게 하려면 sep 매개 변수를 변경하십시오.

print(Total score for , name, is , score, sep='')

만약 Python 2를 사용한다면 마지막 두 개를 사용할 수 없습니다. print는 Python 2에서 함수가 아니기 때문입니다. 하지만 __future__에서 이 동작을 가져올 수 있습니다.

from __future__ import print_function

파이썬 3.6에서 새로 추가된 f 문자열 포맷팅을 사용하세요.

print(f'Total score for {name} is {score}')

답변 2

여러 가지 조건들이 포함된 데이터나 변수 값을 출력할 때, 고객들은 종종 각 값들이 모두 같은 줄 위에 출력되길 원합니다. 예를 들어, 고객이 이름, 나이, 성별, 국적 등 여러 가지 정보를 입력하고 싶다면, 이러한 정보를 모두 한 줄에 출력하면 보기도 편하고 데이터도 더 직관적으로 다룰 수 있습니다.

하지만 여러 가지 값을 한 줄에 출력하는 것은 쉽지 않습니다. 일반적으로 각 값들마다 별도의 출력문을 작성하면서 줄바꿈을 하여야 합니다. 하지만 이러한 방식은 코드가 지저분해질 뿐만 아니라, 불필요한 중복 코드를 만들 수도 있습니다.

따라서 한 줄에 여러 값을 출력하기 위해서는 다양한 방법이 있습니다. 예를 들어, Python program에서는 다음과 같은 방법을 사용할 수 있습니다.

print(이름:, name, \t나이:, age, \t성별:, gender, \t국적:, nationality)

위 코드에서 “\t”는 탭 문자를 의미합니다. 이를 활용하여 각 값들을 구분해 줄 수 있습니다. 또한, “,”는 값을 구분하는 역할을 합니다. 이러한 구분 기호들을 활용하여 각 값들을 한 줄에 출력할 수 있습니다.

또 다른 방법으로는 문자열 포맷팅을 이용하는 것입니다. 다음 예제 코드를 보시죠.

print(이름: {}, 나이: {}, 성별: {}, 국적: {}.format(name, age, gender, nationality))

위 코드에서 “{}”는 값을 출력할 위치를 지정합니다. “format” 함수를 이용하여 값을 매핑하고, 한 줄에 여러 값을 출력할 수 있습니다.

여러 가지 값을 한 줄에 출력하는 것은 프로그래밍에서 자주 사용하는 기술 중 하나입니다. 위에 소개된 방법들이 코드의 가독성을 높이고 중복코드를 방지하기 때문에 적극적으로 활용해 보시면 좋을 것입니다.

반응형
Comments