[Home] Python으로 돌아가기

02. 변수와 연산자

PART 01. 파이썬 기초

[학습 목표]

📖 목차

2.1 변수
2.2 자료형
2.3 입력과 출력
2.4 연산자
2.5 [플러스 예제] 시간 단위 변환기
2.6 [플러스 예제] 주문 금액 계산기

 


2.1 변수

1) 변수의 개념

예: age 변수에 20을 저장하고 출력한다.

age = 20
print(age)

주의: 변수 이름을 따옴표로 감싸면 변수의 값이 아니라 문자열 자체가 출력된다.

age = 20
print('age')

2) 변수의 값은 덮어쓴다

age = 20
print(age)

age = 21
print(age)

3) 변수에 값 대입하기

대입 연산자

예: 이름과 나이를 변수에 대입하고 함께 출력한다.

name = '홍길동'
age = 18
print(name, '나이:', age)

여러 변수에 값 대입하기

a = b = c = 7
print(a, b, c)

복합 대입 연산자

복합 대입 연산자 사용 예:

a = 100
a += 10
print(a)   # 110
a *= 2
print(a)   # 220
a //= 7
print(a)   # 31
a %= 10
print(a)   # 1

4) 변수 이름의 규칙

LAB: 두 변수의 값 교환하기

변수 a의 값 7과 변수 b의 값 11을 교환한다.

(1) 임시 변수를 이용한 방법

a = 7
b = 11

temp = a
a = b
b = temp

print(a, b)

(2) 파이썬의 다중 대입을 이용한 방법

a = 7
b = 11

a, b = b, a
print(a, b)

LAB: 배수 구하기

복합 대입 연산자 +=를 이용하여 3의 배수 중 처음 네 개(3, 6, 9, 12)를 구한다.

a = 3
print(a)
a += 3
print(a)
a += 3
print(a)
a += 3
print(a)

 


2.2 자료형

1) 자료형의 개요

print(type(2024))     # int
print(type(3.14))     # float
print(type('Python')) # str
print(type(True))     # bool

2) 정수형

a = 20      # 10진수
b = 0o34    # 8진수
c = 0xA1    # 16진수
d = 0b1110  # 2진수
print(a, b, c, d)     # 20 28 161 14

3) 부동소수점수형

a = 3.14
b = 1.23e5
print(a, b)  # 3.14 123000.0

4) 불형

a = (10 > 20)
print(a)  # False

5) 문자열형

print('Hi! ' + 'Python')

LAB: 다양한 자료형

문자열, 정수, 부동소수점수를 함께 다룬다.

print('convergence' + ' programming')
print(23 - 25)
print(1.23 + 1.23e-1)

 


2.3 입력과 출력

1) 입력: input 함수

문자열 입력받기

name = input('이름: ')
age = input('나이: ')
print(name, '나이:', age)

정수 형식 입력받기: int 함수

a = int(input('정수 1: '))
b = int(input('정수 2: '))
print(a - b)

부동소수점수 형식 입력받기: float 함수

minute = float(input('분: '))
second = minute * 60
print(second)

2) 출력: print 함수

a = 10
b = 20
print(a)
print(b)

print(a, end=' ')
print(b)

f-문자열

name = '홍길동'
age = 20
print(f'{name}의 나이는 {age}이다.')
print(f'{age:3d}')        # 정수 폭 지정
pi = 3.141592
print(f'{pi:0.2f}')       # 소수점 아래 2자리

LAB: 원의 넓이 구하기

원의 반지름을 입력받아 원의 넓이를 계산하여 출력한다.

r = float(input('반지름: '))
area = 3.14 * r * r
print(f'원의 넓이: {area:0.2f}')

 


2.4 연산자

1) 연산과 연산자

2) 산술 연산자

a = 7
b = 3
print(a + b)   # 10
print(a - b)   # 4
print(a * b)   # 21
print(a / b)   # 2.333...
print(a // b)  # 2
print(a % b)   # 1
print(a ** b)  # 343

3) 연산자 우선순위

a, b, c = 2, 3, 4
print(a + b * c)     # 14
print((a + b) * c)   # 20

LAB: 남녀 비율 계산하기

남성 지원자 수와 여성 지원자 수를 입력받아 비율을 계산한다.

male = int(input('남성 지원자 수: '))
female = int(input('여성 지원자 수: '))

total = male + female
male_ratio = male / total * 100
female_ratio = female / total * 100

print(f'남성 비율: {male_ratio:0.1f}%')
print(f'여성 비율: {female_ratio:0.1f}%')

LAB: 길이 단위 변환하기

센티미터 단위의 길이를 입력받아 미터와 센티미터로 변환한다.

cm = int(input('센티미터: '))

m = cm // 100
remain = cm % 100

print(f'{m}m {remain}cm')

 


2.5 [플러스 예제] 시간 단위 변환기

1) 분 → 시간/분 변환

분 단위 시간을 입력받아 시간과 분으로 바꾸는 프로그램을 만든다.

min = int(input('분: '))

hour = min // 60
min = min % 60

print(f'{hour}시간 {min}분')

2) 초 → 시간/분/초 변환

초 단위 시간을 입력받아 시간, 분, 초로 바꾼다.

second = int(input('초: '))

hour = second // 3600
second = second % 3600

min = second // 60
second = second % 60

print(f'{hour}시간 {min}분 {second}초')

 


2.6 [플러스 예제] 주문 금액 계산기

1) 주문 금액 계산기 I

각 음료의 주문 수를 입력받아 합계 금액을 계산한다. 입력값은 int로 변환하여 사용한다.

americano_num = int(input('아메리카노 주문 수: '))
latte_num = int(input('라떼 주문 수: '))
green_tea_num = int(input('녹차 주문 수: '))

sum = americano_num * 2000 + latte_num * 3000 + green_tea_num * 2500
print(f'주문 금액: {sum}원')

2) 주문 금액 계산기 II

음료 가격을 변수로 분리하여 관리성을 높인다. 가격이 바뀌면 가격 변수만 바꾸면 된다.

americano_price = 2000
latte_price = 3000
green_tea_price = 2500

sum = 0

americano_num = int(input('아메리카노 주문 수: '))
sum += americano_num * americano_price

latte_num = int(input('라떼 주문 수: '))
sum += latte_num * latte_price

green_tea_num = int(input('녹차 주문 수: '))
sum += green_tea_num * green_tea_price

print(f'주문 금액: {sum}원')