연산자의 종류
산술 연산자
+ 연산자 왼쪽과 오른쪽 더하기
- 연산자 왼쪽에서 오른쪽 빼기
* 연산자 왼쪽과 오른쪽 곱하기
/ 연산자 왼쪽을 오른쪽으로 나누기
print(1 + 1)
print(3 - 2)
print(5 * 2)
print(6 / 3)
>> 2
>> 1
>> 10
>> 2.0
나누기 결과는 정수 2가 아닌 실수 2.0으로 표시된다.
나누기 결과로 정수가 나오기를 바란다면 / 대신 6 // 3과 같이 // 연산자를 사용하는 방법이 있다.
print(2 ** 3)
print(10 % 3)
print(10 // 3)
>> 8
>> 1
>> 3
** 연산자 왼쪽을 오른쪽만큼 거듭제곱
% 연산자 왼쪽을 오른쪽으로 나눈 나머지
// 연산자 왼쪽을 오른쪽으로 나눈 몫
비교 연산자
> 연산자 왼쪽이 오른쪽보다 큼
>= 연산자 왼쪽이 오른쪽보다 크거나 같음
< 연산자 왼쪽이 오른쪽보다 작음
<= 연산자 왼쪽이 오른쪽보다 작거나 같음
print(10 > 3)
print(4 >= 7)
print(10 < 3)
print(5 <= 5)
>> True
>> False
>> False
>> True
== 연산자 왼쪽과 오른쪽이 같음
!= 연산자 왼쪽과 오른쪽이 다름
print(3 == 3)
print(4 == 2)
print(3 + 4 == 7)
print(1 != 3)
>> True
>> False
>> True
>> True
논리 연산자
and 연산자 왼쪽과 오른쪽이 모두 참이면 참
or 연산자 왼쪽과 오른쪽 중 하나라도 참이면 참
not 값이 참이면 거짓, 거짓이면 참
print((3 > 0) and (3 > 5))
print((3 > 0) or (3 > 5))
print(not (1 != 3))
>> False
>> True
>> False
연산자의 우선순위
파이썬 연산자도 우선순위가 있습니다.
print(2 + 3 * 4)
print((2 + 3) * 4)
>> 14
>> 20
위에서부터 연산자의 우선순위가 높습니다.
[], {}, () 리스트, 딕셔너리, 튜플
** 거듭제곱
*, /, //, % 곱셈, 나눗셈, 정수, 나눗셈, 나머지
+, - 덧셈, 뺄셈
not, in, <, <=, >, >=, !=, == 부정, 비교 연산자
and, or 논리 연산자
= 대입 연산자
변수로 연산하기
복합 대입 연산자
연산자 | 의미 | 예 |
+= | 연산자 왼쪽 값에 오른쪽 값을 더한 후 왼쪽 값에 대입 | number = number + 2 -> number += 2 |
-= | 연산자 왼쪽 값에서 오른쪽 값을 뺀 후 왼쪽 값에 대입 | number = number - 2 -> number -= 2 |
*= | 연산자 왼쪽 값에 오른쪽 값을 곱한 후 왼쪽 값에 대입 | number = number * 2 -> number *= 2 |
/= | 연산자 왼쪽 값에 오른쪽 값으로 나눈 후 왼쪽 값에 대입 | number = number */ 2 -> number /= 2 |
**= | 연산자 왼쪽 값에 오른쪽 값으로 거듭제곱한 후 왼쪽 값에 대입 | number = number ** 2 -> number **= 2 |
//= | 연산자 왼쪽 값을 오른쪽 값으로 나눈 후 왼쪽 값에 대입 | number = number // 2 -> number //= 2 |
%= | 연산자 왼쪽 값을 오른쪽 값으로 나눈 후 나머지를 왼쪽 값에 대입 | number = number % 2 -> number %= 2 |
함수로 연산하기
숫자 처리 함수
함수 | 의미 |
abs(x) | x의 절대값 |
pow(x, y) | x를 y만큼 거듭제곱한 값 |
max() | 가장 큰 값 |
min() | 가장 작은 값 |
round(x, d) | x를 반올림한 값, d는 표시할 소수점 이하 자릿수, d가 없으면 소수점 이하 첫째 자리에서 반올림한 정수 |
print(abs(-5))
print(pow(4, 2))
print(max(5, 12))
print(min(5, 12))
print(round(3.14))
print(round(4.678, 2))
>> 5
>> 16
>> 12
>> 5
>> 3
>> 4.68
math 모듈
숫자 연산을 수행하는 함수는 math모듈에도 있다.
함수 | 의미 |
floor() | 내림 |
ceil() | 올림 |
sqrt() | 제곱근() |
from math import *
result = floor(4.99)
print(result)
result = ceil(3.14)
print(result)
result = sqrt(16)
print(result)
>> 4
>> 4
>> 4.0
random 모듈
무작위로 숫자를 뽑아 주는 random() 함수가 있다.
print(random() * 10)
print(int(random() * 10))
print(int(random() * 10) + 1)
함수 | 의미 |
randrange(시작 숫자, 끝 숫자) | 주어진 범위 안에서 정수인 난수 생성(끝 숫자 미포함) |
randint(시작 숫자, 끝 숫자) | 주어진 범위 안에서 정수인 난수 생성(끝 숫자 포함) |
print(randrange(1, 46)) # 1이상 46 미만에서 난수 생성
print(randint(1, 45)) # 1 이상 45 이하에서 난수 생성
문제풀이
문제 : 코딩 스터디 모임을 만들었습니다. 월 4번 모이는데, 3번은 온라인으로, 1번은 오프라인으로 모이기로 했습니다. 조건에 맞는 오프라인 모임 날짜를 정하는 프로그램을 작성하세요.
조건
1. 날짜를 무작위로 뽑는다.
2. 월별 일수가 다르므로 최소 일수인 28일 이내로 정한다(28일까지만 날짜 선정).
3. 매월 1~3일은 스터디를 준비해야 하므로 제외한다.
4. 실행결과는 다음과 같은 형태로 나와야 한다.
>> 오프라인 스터디 날짜는 매월 18일로 선정됐습니다.
from random import *
day = randint(4, 28)
print('오프라인 스터디 날짜는 매월' + str(day) + '일로 선정됐습니다.')
문제 : 연산자를 이용해 온도 단위를 변환하는 프로그램을 만들어 보세요.
조건
1. 섭씨 온도를 저장하기 위한 변수를 만든다.
2. 다음 공식을 이용해 섭씨 온도를 화씨 온도로 변환하고 새로운 변수에 저장한다.
화씨 온더 = (섭씨 온도 * 9 / 5) + 32
3. 섭씨 온도와 화씨 온도를 다음과 같이 출력한다.
섭씨 온도 : 30
화씨 온도 : 86.0
a = 30
b = (a * 9 / 5) + 32
print('섭씨 온도 :', a)
print('화씨 온도 :', b)
'Python 기초' 카테고리의 다른 글
[Python] 자료구조 정리 (0) | 2023.03.19 |
---|---|
[Python] 문자열 다루기 (0) | 2023.03.18 |
[Python] 자료형과 변수 (1) | 2023.03.10 |
파이썬 Class: 클래스의 모든 것 (0) | 2023.02.18 |
[파이썬 기초] Functions : 함수, 모듈 (0) | 2023.02.12 |
댓글