파이썬 프로그래밍을 공부하다 보면 이제 입력 데이터 값에 대한 계산을 수행하고 결과를 표시해야 하는 경우가 있습니다. 이 경우 콘솔 창에서 데이터를 입력하고 출력하는 간단한 방법을 살펴보겠습니다.
콘솔 창이란 무엇입니까?
사실 이전에 Python을 실행하기 위해 사용했던 기본적인 cmder와 같은 화면을 콘솔 창이라고 합니다.

이러한 DOS와 같은 화면을 CLI(Command Line Interface)라고 하며 아이콘과 이미지로 구성된 GUI(Graphical User Interface)와는 다릅니다. 컴퓨터에 텍스트 명령을 입력하는 시스템말한다
요즘 누가 쓰나요? 하지만 최근 머신러닝, 딥러닝, 인공지능 알고리즘의 발달로 파이썬 프로그래밍도 대중화되면서 이런 CLI 환경에서의 작업 환경이 다시 중요해지고 있다.
일반적으로 Windows CMD 및 Mac/Linux 터미널 화면은 CLI입니다.

콘솔이라 불리는 이유는 초기의 컴퓨터는 고가의 장치였기 때문에 본체는 서버실에 있었고 사용자는 모니터와 키보드로만 구성된 터미널을 이용하여 명령을 입력하고 출력했습니다. 이 터미널을 콘솔이라고 불렀고 여기서부터 텍스트 입력 화면은 여전히 콘솔이라고 합니다.
터미널 콘솔 쉘의 차이점이 궁금하시다면(필요시) 아래 링크를 확인해주세요.
콘솔, 터미널 및 쉘의 차이점은 무엇입니까?
서로 근접한 많은 질문을 보지만 질문 자체는 …
www.hanselmann.com
바쁜 현대인을 위해 세 줄로 요약하자면
- 터미널: 메인 컴퓨터가 실제로 작동하는 동안 명령을 보내고 응답을 받는 터미널(예: 타자기 형태).
- 콘솔: 20세기 중반에는 스크린과 키보드를 결합한 가구 형태로 발전했다.
- 쉘: 터미널과 콘솔이 기능적 의미를 가질 때 쉘은 터미널로 전달하고 터미널에서 수신하기 위한 화면 프로그램을 의미합니다.
결론은 그냥 같은 의미로 쓰셔도 된다는 것입니다.
데이터를 입력으로 받기
콘솔 창에서 입력 데이터를 실제로 수신하고 출력하는 명령을 연습합니다.

input() 명령을 입력하면 커서가 화면에 대기하고 값을 입력하면 프로그램으로 전송됩니다. 이 경우 name이라는 변수에 입력값을 대입하고 그 변수에 입력한 값을 print문을 통해 출력한다.
name=input("이름을 입력해주세요")
print("Hi", name)
print("★", name, "★", sep="")
print("★", name, "★", end="◁◁◁◁◁◁")
print 문 안에서 쉼표(,)로 연결하면 여러 항목을 연속으로 출력할 수 있습니다.

print 문에 sep=””를 포함시키면 두 번째 문과 같이 쉼표로 연결된 항목을 공백 없이 출력할 수 있습니다. sep는 seperate의 약자로 각각의 요소가 어떻게 분리되어 있는지를 나타냅니다. 기본값은 단일 공백입니다.

end는 print 문에 의해 출력되는 구문의 끝에 추가되며 기본값은 \n(백슬래시 n)입니다. 따라서 다른 값을 입력하면 위와 같이 줄바꿈이 되지 않고 마지막에 입력한 값이 추가되어 커서가 줄 아래가 아닌 바로 옆에 나타납니다.
temperature = float(input("온도를 입력해주세요"))
괄호 input() 안에 텍스트를 쓰면 값을 입력할 때 텍스트가 사용자에게 표시됩니다. 또한 위의 코드와 같이 입력값을 직접 float로 변환하여 변수에 저장할 수도 있습니다.

입력한 숫자를 실수로 변환하여 출력한 결과입니다.

입력값을 float형으로 변환하여 print문을 이용하여 출력하고, 입력값이 할당된 변수의 타입을 확인하는 예제입니다.
이를 통해 콘솔 창의 input 문을 사용하여 입력 데이터를 수신하고 print 문을 사용하여 출력하는 간단한 작업을 수행할 수 있습니다.
print 문에 대한 출력 형식 결정
데이터의 입력과 출력, 입력과 출력은 동전의 양면과 같이 떼려야 뗄 수 없는 한 쌍이므로 입력을 설명함에 있어 출력에 대해서도 어느 정도 설명하였다. 이번에는 인쇄할 때 데이터 형식을 결정하는 형식화 방법에 대해 자세히 살펴보겠습니다.
예를 들어 데이터 형식을 구성한 경험이 있을 수 있습니다. B. 회사에서 Excel 조직 업무의 소수 자릿수를 조정합니다. Python에서 비슷한 작업을 수행하는 방법에는 여러 가지가 있습니다.
## 1 숫자 직접 출력하기
print(1,2,3)
## 1 결과
1 2 3
## 2 문자 직접 출력하기
print("a" , "b" , "c")
## 2 결과
a b c
## 3 더하기로 연결시 변수 타입 맞춰주기
b=5
print("a" + str(b) + "c")
## 3 결과
a5c
가장 기본적인 포매팅 방법은 위에서 설명한 것과 같습니다. 먼저 숫자나 문자를 print 문에 직접 입력하여 출력하는 방법이 있습니다. 문자는 작은따옴표 또는 큰따옴표로 묶어 텍스트로 인식합니다.
더하기 기호로 인쇄에 여러 요소를 추가하는 방법도 있지만 이 경우 공백 없이 모두 추가됩니다. 단, 데이터 타입이 다르면 에러가 발생하므로 숫자형과 문자형을 통일해야 합니다. 정수와 실수의 합집합은 관련이 없습니다. 정수형 중간에 실수 데이터를 삽입하면 결과는 실수형으로 반환된다.
다음 방법은 Python의 서식 지정 명령을 사용하는 것입니다. % 형식 구분 기호 / .format() 함수 사용 방법은 두 가지가 있습니다.
## 4 퍼센트 포매팅
print("%d" % (1))
## 4 결과
1
## 5 format함수 이용
print("{}" .format("a"))
## 5 결과
a
Python에서 단일 퍼센트는 서식 구분 기호입니다. 기본 원칙은 전경에 공백을 지정하고 여기에 다음 변수를 할당하여 형식을 식별하는 것입니다.
“%데이터 유형” %(변수)
%s : 문자열 문자열
%c : 1자
%d : 정수형 정수형
%f : 부동 소수점 숫자
%o : 8진수
%x : 16진수
%% : 실제 비율
* 실제 백분율을 표시하려면 %%를 두 개 사용해야 합니다.

다음 35개를 입력하기 위해 %d를 입력했는데 백분율을 표시하려면 %%를 2개 더해야 합니다.
입력 양식에서 볼 수 있듯이 내용은 따옴표 안에 있습니다. 마지막으로 문자열 데이터 유형으로 변환즉, 입력 데이터를 텍스트 형식으로 출력하는 것을 포매팅이라고 할 수 있다.

위의 예를 살펴보겠습니다. 변수 a에 정수형 데이터를 입력하고 a를 %d로 불러와 함께 텍스트로 출력하였다. 나중에 변수 a의 값이 변경되더라도 변경된 내용을 문제 없이 출력할 수 있습니다.
여기서 a의 유형은 클래스 int이고 정수 유형이 표시됩니다. “%d” % 구분 기호를 “a”로 대체하면 유형이 “str” 클래스로 변경된 것을 확인할 수 있습니다. str로 변경되었기 때문에 문제 없이 텍스트와 출력에 병합되었습니다.

이 경우를 살펴보겠습니다. 변수 a는 원래 정수형이었지만 % 구분 기호가 있는 실수로 가져왔습니다. 마찬가지로 원래 변수 a의 타입은 정수형이고 % 구분 기호를 바꾼 후의 타입은 문자형입니다. 그러나 출력문의 맨 윗줄을 보면 10.000000이 실수로 출력된다.
정수형 a %f로 실수형으로 변환 문자형으로 출력형
이런 일이 일어났습니다. 실수형이라는 것은 언뜻 보기에 알 수 있고 실제형은 정수형에서 문자형으로 변환 후 출력된다. % 구분 기호는 보이는 출력 화면의 형식을 의미하지만 실제로는 데이터 형식이 문자열로 변경됩니다.
내가 왜 이러는지 물어보면… 예를 들어 시간을 표시하도록 프로그래밍했다고 말하면.
현재 시간은 오후 6시 30분입니다.
현재 시각은 오전 7시 20분.
이렇게 하면 문자열의 특정 부분을 변경해야 하는 경우가 있습니다. 또한 부분은 숫자입니다. 이 경우 문자열에 포함된 숫자형 변수를 자동으로 문자열 데이터 타입으로 변환하여 사용합니다.
다음과 같은 형식으로 입력되는 형식 함수로도 동일하게 표현할 수 있습니다.

” {#1DataType} {#2DataType}” .format(#1인수, #2인수)
뭔가 생소한 표현이고, 프로그래밍이 생소해서 프로그래밍을 처음 접하는 입문자들에게는 어렵게 느껴집니다. 단순히 예제를 보고 다른 것을 직접 입력하여 결과를 확인하는 방식으로 반복적으로 학습하는 것 외에는 남은 것이 없습니다.

이렇게 두 변수를 문자형과 정수형으로 지정했으므로 출력문 중간에 {} 괄호를 넣고 두 변수를 .format()으로 끝냅니다. 그런 다음 두 개의 변수가 두 개의 대괄호 {} 안에 차례로 입력되고 출력됩니다.
여기서 타입을 확인해보면 % 구분 기호를 입력할 때와 마찬가지로 모두 str 타입으로 변환된 것을 확인할 수 있습니다. 즉, “~~”에 삽입된 자식들은 반드시 문자형으로 변환되어 인쇄 지시가 주어진다고 상상할 수 있습니다.

.format() 함수를 사용할 때 함수를 사용할 수 있습니다. 위와 같이 괄호 {}를 여러 개 지정한 경우 괄호 안에 숫자를 묶어서 변수의 위치를 지정할 수 있습니다.
오른쪽 .형식으로 temp, day 순서로 정리했는데 실제 출력문에서는 순서가 바뀌어야 합니다. 이때 숫자를 괄호 안에 1, 0으로 거꾸로 쓰면 변수가 순서가 아닌 지정된 숫자로 입력된다. 그러나 Python의 다른 경우와 마찬가지로 여기서도 숫자는 0부터 시작합니다.
이제 십진수와 패딩을 기준으로 정렬하는 방법을 살펴보겠습니다.

위의 % 구분 기호와 .format() 함수가 있는 출력의 예를 살펴보겠습니다.
%10s에서 s는 문자열을 의미하고 10은 자릿수를 의미합니다. 즉, 10개의 셀을 생성하고 거기에 문자열을 출력한다는 의미입니다. 이 시점에서 차이점이 있습니다. % 구분 기호를 사용하면 10개의 공백이 생성되고 오른쪽 정렬되고 .format() 함수를 사용하면 10개의 공백이 생성되고 왼쪽 정렬됩니다.

정렬을 어떻게 변경합니까? % 구분 기호는 위와 같이 빼기 기호를 추가할 수 있으며 .format() 함수의 경우 숫자 앞에 >를 넣으면 정렬이 반대로 됩니다.
정수 값 120은 실수 뒤에 %f를 붙인 것으로 여기서 10.2의 의미는 10자리에 소수점 이하 0.2초까지 표시하는 것을 의미합니다. 실제로 많은 공간을 남기고 120.00으로 표시되는 것을 볼 수 있습니다.
마지막으로 이름을 제공하여 호출하는 방법이 있습니다.

가져올 값이 % 구분 기호에 {‘name’=’name’} 형식이고 . 포맷() 함수. 지금은 이 작업을 수행할 필요가 없지만 나중에 복잡한 프로그래밍을 수행할 경우 유용한 기술입니다. 그러니 그런 일이 있다는 걸 알고 넘어가면 된다.
% 구분 기호와 .format() 함수에서 괄호를 사용하는 방법에는 다음과 같이 차이가 있습니다. 예: 또는 =, 그래서 혼란스럽습니다.
