🐣

3주차 학습일지(연산자)

학습 내용

분류
연산자
대입연산자
=
산술연산자
+, -, *, /, //, %, **
복합 대입 연산자
+=, -=, *=, /=, //=, %=
관계 연산자
>, <, ==, !=, <=, >=
논리 연산자
and, or, not

파이선 연산 순서

괄호 ”()” → 거듭 제곱 ”(**)” → *, /, % → +

왼쪽에서 오른쪽으로 연산 한다.

수식 연산

자료형의 변수를 연산하는 '연산자'에 대해 알아봅시다. 수식 연산자는 두 개의 피연산자를 요구하는 이항 연산자(binary operator)입니다.
종류
기능
사용 가능한 자료형
+
두 값을 더합니다.
정수, 실수, 문자
-
왼쪽 값에서 오른쪽 값을 뺍니다.
정수, 실수
*
두 값을 곱합니다.
정수, 실수
/
왼쪽 값을 오른쪽 값으로 나눕니다.
정수, 실수
%
왼쪽 값을 오른쪽 값으로 나눈 나머지를 반환합니다.
정수, 실수
연산자는 두 개를 겹쳐 사용했을 때 다른 의미를 가지기도 합니다.
종류
기능
사용 가능한 자료형
**
왼쪽 값을 오른쪽 값만큼 제곱합니다.
정수, 실수
//
왼쪽 값을 오른쪽 값으로 나눈 몫을 반환합니다.
정수, 실수
num1 = 17.5 num2 = 10 str1 = "Hello" str2 = "DGSW" print(num1 + num2) print(str1 + str2) print(num1 - num2) print(num1 * num2) print(num2 ** num1) print(num1 / num2) print(num1 // num2) print(num1 % num2)
Python
복사
파이썬에서 문자열+숫자는 불가능하지만, 8번째 줄에서 실수 num1과 정수 num2를 더한 것처럼 연산 대상인 변수가 모두 숫자라면 int형이든 float형이든 자유롭게 연산할 수 있습니다.

할당 연산자

변수에 값을 대입 및 할당할 때 '=' 연산자를 사용했습니다. 이 연산자는 그 사용에 걸맞게 할당연산자라고 불립니다. 할당연산자 '='는 수식연산자와 함께 사용할 수 있는데 이를 복합대입연산자라고 합니다.
종류
기능
설명
+=
값을 더한 후 대입합니다.
문자열도 사용 가능합니다.
-=
값을 뺀 후 대입합니다.
*=
값을 곱한 후 대입합니다.
/=
값을 나눈 후 대입합니다.
%=
값을 나눈 후 나머지를 대입합니다.

우리는 a 변수에 1을 더하기 위해서 이러한 방식을 사용 하였습니다.

a = 1 a = a + 1
Python
복사
하지만 이 코드는 깨끗하지가 않더라고요, 더욱 깔끔한 코드를 만들기 위해 할당 연산자를 사용 해볼겁니다.
a = 1 a += 1
Python
복사
이러한 형식으로 할당 연산자를 활용 할 수 있습니다!

그러면 a변수에 1를 빼볼까요?

a = 1 a -= 1
Python
복사
이러한 형식으로 위에 설명한 다양한 할당 연산자를 활용 할 수 있습니다!

논리 연산자

논리연산자는 두 bool형 변수의 논리 연산을 위해 사용하며, 수학 시간에 배운 합집합, 교집합, 차집합과 동일합니다. 아래 표로 좀 더 자세히 알아볼까요?
종류
기능
설명
and
두 값이 모두 참(True)일 때만 참(True)를 반환합니다.
True and True = True True and False = False
or
두 값 중 하나라도 참(True)이면 참(True)를 반환합니다.
True or True = True True or False = True
not
거짓(False)이면 참(True)를, 참(True)이면 거짓(False)를 반환합니다.
a = True b = False print("참 and 거짓 :", a and b) print("참 and 참 :", a and a) print("참 or 거짓 :", a or b) print("거짓 or 거짓 :", b or b) print("not 참 :", not a) 출력결과:and 거짓 : Falseand: Trueor 거짓 : True 거짓 or 거짓 : False not: False
Python
복사
and 연산자는 두 값이 모두 참이라야 참이므로 첫 번째 값이 거짓이면 두 번째 값은 확인하지 않고 바로 거짓으로 결정합니다.
or 연산자는 두 값 중 하나만 참이라도 참이므로 첫 번째 값이 참이면 두 번째 값은 확인하지 않고 바로 참으로 결정합니다.

관계(비교) 연산자

관계연 산자는 두 값의 대소 혹은 동등의 관계를 따지는 연산자입니다.
종류
기능
==
두 값이 같은지 비교합니다.
!=
두 값이 다른지 비교합니다.
<, <=
오른쪽 값이 왼쪽 값보다 더 큰지 비교합니다. '='가 추가되면 오른쪽 값이 왼쪽 값과 비교하여 더 크거나 같은지 비교합니다.
>, >=
왼쪽 값이 오른쪽 값보다 더 큰지 비교합니다. '='가 추가되면 왼쪽 값이 오른쪽 값과 비교하여 더 크거나 같은지 비교합니다.
print("100 == 100 :", 100 == 100) print("100 == 200 :", 100 == 200) print("100 != 100 :", 100 != 100) print("100 != 200 :", 100 != 200) print("0 < 9 :", 0 < 9) print("0 > 9 :", 0 > 9) print("0 >= 9 :", 0 >= 9) print("0 <= 0 :", 0 <= 0) 출력 결과: 100 == 100 : True 100 == 200 : False 100 != 100 : False 100 != 200 : True 0 < 9 : True 0 > 9 : False 0 >= 9 : False 0 <= 0 : True
Python
복사
출력 결과가 어떤 숫자 값이 아니라 True, False로 나오는 것을 확인할 수 있습니다. 관계연산자는 반복문, 조건문에서 조건식으로 매우 자주 사용합니다.

어려웠던점

내 점수가 2등급인지 계산을 하는 코드
내 점수가 2등급인지 계산을 하는 코드를 짜보고 싶었다, 처음에는 어떤식으로 해야될지 몰라서 걱정 이였지만
논리 연산자와 관계 연산자를 활용 하여 해결 해볼려고 아래와 같은 코드를 짜보았다

해결 방법

내 점수가 2등급인지 계산을 하는 코드를 만들어 보았다
1.
내 점수를 정수형으로 먼저 입력 받았다
2.
그리고 논리 연산자와 관계 연산자를 활용하였다, and와 <=, > 를 이용 하였다.
a = int(input("점수를 입력 해주세요: ")) print(f"당신은 2등급이 {90 > a and 80 <= a}") 입력 예시: 점수를 입력 해주세요: 89 출력 결과: 당신은 2등급이 True
Python
복사
이런식으로 문제를 해결 하였다! 이 코드를 해석 하면 90점 미만이고 80점 이상인지 여부를 확인 한다