PART 01. 파이썬 기초
[학습 목표]
=를 사용한다.print 함수를 사용한다.예: age 변수에 20을 저장하고 출력한다.
age = 20
print(age)
주의: 변수 이름을 따옴표로 감싸면 변수의 값이 아니라 문자열 자체가 출력된다.
age = 20
print('age')
age = 20
print(age)
age = 21
print(age)
= 기호를 대입(할당) 연산자라 한다.예: 이름과 나이를 변수에 대입하고 함께 출력한다.
name = '홍길동'
age = 18
print(name, '나이:', age)
a = b = c = 7
print(a, b, c)
a = a + 7은 a += 7로 쓸 수 있다.+=, -=, *=, /=, //=, %= 등이 있다.복합 대입 연산자 사용 예:
a = 100
a += 10
print(a) # 110
a *= 2
print(a) # 220
a //= 7
print(a) # 31
a %= 10
print(a) # 1
_)이어야 한다._)을 사용할 수 있다.변수 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)
복합 대입 연산자 +=를 이용하여 3의 배수 중 처음 네 개(3, 6, 9, 12)를 구한다.
a = 3
print(a)
a += 3
print(a)
a += 3
print(a)
a += 3
print(a)
True(참), False(거짓) 값만을 가진다.type 함수를 사용한다.print(type(2024)) # int
print(type(3.14)) # float
print(type('Python')) # str
print(type(True)) # bool
0b, 8진수는 0o, 16진수는 0x로 시작한다.a = 20 # 10진수
b = 0o34 # 8진수
c = 0xA1 # 16진수
d = 0b1110 # 2진수
print(a, b, c, d) # 20 28 161 14
1.23e5처럼 e를 사용한다.a = 3.14
b = 1.23e5
print(a, b) # 3.14 123000.0
a = (10 > 20)
print(a) # False
' ') 또는 큰 따옴표(" ")로 감싸 표현한다.+ 연산자로 문자열을 연결할 수 있다.print('Hi! ' + 'Python')
문자열, 정수, 부동소수점수를 함께 다룬다.
print('convergence' + ' programming')
print(23 - 25)
print(1.23 + 1.23e-1)
input 함수를 사용한다.input은 안내문을 출력하고, 입력받은 값을 문자열로 반환한다.name = input('이름: ')
age = input('나이: ')
print(name, '나이:', age)
input으로 받은 값은 문자열이므로, 숫자로 계산하려면 형 변환이 필요하다.int 함수를 사용한다.a = int(input('정수 1: '))
b = int(input('정수 2: '))
print(a - b)
float로 변환한다.minute = float(input('분: '))
second = minute * 60
print(second)
print 함수를 사용한다.,)로 구분하여 나열한다.print는 출력 후 줄바꿈을 수행한다.end 옵션을 사용한다.print()처럼 출력 값이 없는 print는 빈 줄을 출력한다.a = 10
b = 20
print(a)
print(b)
print(a, end=' ')
print(b)
print에서 콤마로 여러 값을 출력하면 값 사이에 공백이 들어간다.f 또는 F를 붙이고, 변수는 중괄호({})로 감싼다.{변수:형식} 형태로 작성한다. (예: d는 정수, f는 부동소수점수)name = '홍길동'
age = 20
print(f'{name}의 나이는 {age}이다.')
print(f'{age:3d}') # 정수 폭 지정
pi = 3.141592
print(f'{pi:0.2f}') # 소수점 아래 2자리
원의 반지름을 입력받아 원의 넓이를 계산하여 출력한다.
r = float(input('반지름: '))
area = 3.14 * r * r
print(f'원의 넓이: {area:0.2f}')
+), 뺄셈(-), 곱셈(*), 나눗셈(/) 등을 수행한다.//, 나머지는 %로 구한다.**로 계산한다.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
** → *, /, //, % → +, - 순으로 우선순위가 높다.())를 사용한다.a, b, c = 2, 3, 4
print(a + b * c) # 14
print((a + b) * c) # 20
남성 지원자 수와 여성 지원자 수를 입력받아 비율을 계산한다.
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}%')
센티미터 단위의 길이를 입력받아 미터와 센티미터로 변환한다.
cm = int(input('센티미터: '))
m = cm // 100
remain = cm % 100
print(f'{m}m {remain}cm')
분 단위 시간을 입력받아 시간과 분으로 바꾸는 프로그램을 만든다.
min)을 60으로 나눈 몫이 시간(hour)이다.min)을 60으로 나눈 나머지가 분(min)이다.min = int(input('분: '))
hour = min // 60
min = min % 60
print(f'{hour}시간 {min}분')
초 단위 시간을 입력받아 시간, 분, 초로 바꾼다.
second)를 3600으로 나눈 몫이 시간(hour)이다.min)이고, 남은 값이 초(second)이다.second = int(input('초: '))
hour = second // 3600
second = second % 3600
min = second // 60
second = second % 60
print(f'{hour}시간 {min}분 {second}초')
각 음료의 주문 수를 입력받아 합계 금액을 계산한다. 입력값은 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}원')
음료 가격을 변수로 분리하여 관리성을 높인다. 가격이 바뀌면 가격 변수만 바꾸면 된다.
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}원')