| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 표준 입출력
- 강의
- c#
- 네트워크 프로그래밍
- 산책하기 좋은 곳
- 언제나휴일
- 동영상
- 파이썬
- 알고리즘
- 실습으로 다지는 c#
- C++
- 원격 제어 프로그램
- 안드로이드 앱 개발
- 클래스 다이어그램
- 추천
- 독립기념관
- 충남 천안
- 언제나 휴일
- 소켓 통신
- 무료 동영상 강의
- 졸업 작품 소재
- 프로젝트
- 유튜브 동영상 강의
- 실습
- c언어
- 소스 코드
- 캡슐화
- 표준 라이브러리 함수
- 동영상 강의
- Windows Forms
- Today
- Total
프로그래밍 언어 및 기술 [언제나휴일]
기본 입출력(input, print) 및 포멧 본문
변수 사용
프로그램에서 사용할 데이터를 기억해 두었다가 필요할 때 사용하기 위한 문법으로 변수를 제공합니다.
파이썬에서는 별도의 선언문 없이 변수에 값을 대입하는 형태로 사용할 수 있습니다.
다음은 사각형의 면적을 계산하기 위해 너비와 높이를 변수에 대입하여 사용하는 예제 코드입니다.
[In]
width = 10
height = 15
rect_area = width * height
print("너비:",width, "높이:",height, "사각형 면적:",rect_area)
[Out]
너비: 10 높이: 15 사각형 면적: 150
기본 입력 input
사용자로부터 값을 입력받아 변수에 대입하고자 한다면 input함수를 사용하세요.
input 함수는 화면에 출력할 내용을 전달합니다.
다음은 이름과 번호를 입력받아 출력하는 예제 코드입니다.
[In]
name = input("이름:")
num = input("번호:")
print("이름:",name, "번호:",num)
[Out]
이름:홍길동
번호:23
이름: 홍길동 번호: 23
그런데 input 함수가 반환하는 값은 문자열 형식입니다. 출력했을 때는 정수나 문자열이 차이가 없어 보이지만 연산에서는 차이가 발생합니다.
만약 다음처럼 두 개의 정수를 입력받아 합계를 구한다고 가정해 봅시다.
[In]
n1 = input("첫 번째 수:")
n2 = input("두 번째 수:")
print("첫 번째:",n1, "두 번째:",n2)
print("합계:",n1+n2)
[Out]
첫 번째 수:21
두 번째 수:34
첫 번째: 21 두 번째: 34
합계: 2134
보시는 것처럼 21과 34를 입력하였을 때 더한 결과가 55가 아닌 2134임을 알 수 있습니다.
n1의 타입을 확인해 보면 문자열(str)인 것을 알 수 있어요.
[In]
print(type(n1))
[Out]
<class 'str'>
문자열을 숫자로, 숫자를 문자열로
앞에서 input 함수의 반환 값은 문자열 형식임을 확인하였습니다.
만약 정수를 입력받고자 한다면 input 함수가 반환한 값을 정수 형식으로 변환해야 합니다.
파이썬에서 형식명(표현)을 통해 형식을 변환할 수 있어요.
다음은 앞에서 입력받은 n1과 n2를 정수 형식으로 변환한 후 더하는 예제 코드입니다.
[In]
n1 = int(n1)
n2 = int(n2)
print("첫 번째:",n1, "두 번째:",n2)
print("합계:",n1+n2)
[Out]
첫 번째: 21 두 번째: 34
합계: 55
다음 코드는 input 함수를 호출한 결과를 바로 정수 형식으로 변환하는 예제입니다.
[In]
korea = int(input("국어 점수:"))
math = int(input("수학 점수:"))
print("국어:",korea, "수학 점수:",math, "합계:",korea+math)
[Out]
국어 점수:98
수학 점수:99
국어: 98 수학 점수: 99 합계: 197
문자열 형식으로 바꾸고 싶다면 str(표현) 을 사용합니다.
다음은 정수 형식 korea와 math를 문자열로 변환하여 타입을 확인하는 예제 코드입니다.
[In]
k_str = str(korea)
print(type(korea),type(k_str))
print(korea,k_str)
m_str = str(math)
print(type(math),type(m_str))
print(math,m_str)
[Out]
<class 'int'> <class 'str'>
98 98
<class 'int'> <class 'str'>
99 99
다음은 정수 형식 변수끼리, 문자열 형식 변수끼리 더하기 연산을 수행한 결과를 보여주는 코드입니다.
[In]
print(korea+math, k_str+m_str)
[Out]
197 9899
사용자로부터 실수를 입력받을 때는 float(input(프롬프트)) 를 사용하세요.
[In]
pi = float(input("파이:"))
print(pi)
print(type(pi))
[Out]
파이:3.14
3.14
<class 'float'>
기본 출력 print
기본 출력 함수 print는 이미 사용해 보았습니다.
이번에는 포멧에 맞게 출력하는 방법을 알아 볼 거예요.
print 함수를 사용할 때 값이나 표현을 입력 인자로 전달하여 출력했어요.
[In]
print(12)
a = "hello"
print(a)
print(12, a)
[Out]
12
hello
12 hello
format 출력
먼저 정수를 출력할 때 10진수, 8진수, 16진수로 출력할 수 있어요.
format(정수,’d’)일 때는 10진수
format(정수,’o’)일 때는 8진수
format(정수,’x’)일 때는 16진수
[In]
num = 256
print("===num===")
print("10진수:",format(num,'d'))
print("8진수:",format(num,'o'))
print("16진수:",format(num,'x'))
[Out]
===num===
10진수: 256
8진수: 400
16진수: 100
문자열의 멤버 메서드(문자열 표현 뒤에 .을 찍고 접근하는 기능) format을 사용할 수도 있어요.
이 때는 format에 전달하는 인자의 인덱스를 문자열 표현에 포함시킬 수 있어요.
다음 코드는 문자열의 멤버 메서드 format 을 사용한 예입니다. Look & Feel 할 수 있을 거예요.
[In]
print("10진수:{0:d}".format(num))
print("8진수:{0:o}".format(num))
print("16진수:{0:x}".format(num))
[Out]
===num===
10진수: 256
8진수: 400
16진수: 100
이처럼 문자열의 멤버 메서드 format을 사용할 때는 여러 개의 인자를 전달하고 문자열에 {인덱스}로 출력 포멧을 지정할 수 있어요.
a=5
b=3
print("a:{0} b:{1}".format(a,b))
print("{0}+{1}={1}+{0}={2}".format(a,b,a+b))
[Out]
===num===
a:5 b:3
5+3=3+5=8
원하는 폭을 지정하고 싶을 때는 다음처럼 포멧을 표현할 수 있어요.
print("TC1:={0:s}=".format("cat"))
print("TC2:={0:6s}=".format("cat"))
[Out]
===num===
TC1:=cat=
TC2:=cat =
정수 출력에서 폭을 지정하고 빈 자리를 0을 채우고 싶을 때는 폭 지정 앞에 숫자 0을 표현합니다.
print("={0:6d}=".format(123))
print("={0:06d}=".format(123))
[Out]
= 123=
=000123=
출력할 소수점 이하 자리수를 지정할 때는 .자리수f 표현으로 지정합니다.
print("{0:f}".format(2/3))
print("{0:.2f}".format(2/3))
[Out]
0.666667
0.67
f문자열
보다 직관적으로 포멧을 지정할 수 있게 f”문자열 출력 포멧” 형태로 표현할 수도 있어요.
a=123
b=2/3
print(f"a:{a} b:{b}")
print(f"a:{a:012d} b:{b:.2f}")
[Out]
a:123 b:0.6666666666666666
a:000000000123 b:0.67
'언휴의 인공지능 프로그래밍 랩 > 파이썬' 카테고리의 다른 글
| 파이썬 소개 및 자료형(숫자와 문자열) (0) | 2026.07.04 |
|---|
