INDEX
1. 연산자
(1) 산술 연산자
(2) 복합 연산자
(3) 비교 연산자
(4) 논리 연산자
(5) operator 모듈
2. 조건문
(1) 단일 조건문
(2) 양자택일 조건문
(3) 다자택일 조건문
(4) 중첩 조건문
파이썬에서 연산자를 활용한 여러 작업 등을 할 수 있는데, 그 기능에 따라 각각 산술,할당,복합,논리 연산자 등으로 불린다.
우리가 흔히 아는 사칙연산과 비슷하다. 하지만 그 모양과 세부적인 쓰임새에는 약간의 차이가 있으므로, 유의하는 것이 필요하다.


하지만 문자형과 숫자형끼리의 덧과 뺄셈, 문자형끼리의 뺄셈은 불가능하다.




이 때, 나눗셈한 데이터의 타입은 실수형이 되는데, 이를 정수형으로 바꾸고 싶다면 이전시간에 배운 int()함수를 이용해서 데이터 타입을 변경할 수 있다.

또한 divmod()함수를 이용한다면 각각을 따로 또 같이 출력할 수 있는 편리함이 있다. 만약 여기서 몫과 나머지를 분리해서 구하고 싶으면 인덱스를 이용해서 각각을 출력할 수 있다.

거듭제곱(**) 연산자
거듭제곱 연산자를 사용한다면, 응용해서 제곱근도 구할 수 있다.

또한, math 모듈을 불러와서 sqrt(), pow()함수를 사용해서 제곱근과 거듭제곱을 구할 수 있다. 단, n제곱은 pow()를 이용해서 얼마든지 구할 수 있지만, sqrt()로는 겨우 제곱근 밖에 구하지 못하므로 유의해야 한다.

앞서 배운 할당 연산자를 이용해서 복합 연산자로 더 간편한 코드를 작성할 수 있는데

첫 번째 코드를 확인해 보자. 복합 연산자 += 을 사용하면 변수 num에 덧셈연산을 한 다음 다시 num에 데이터를 할당하는 것을 의미한다.
숫자형의 비교
흔히 아는 부등호 기호로 부등호 기호의 값이 옳다면 True, 틀리다면 False 값을 출력한다. 앞에서 '='기호는 할당 연산자로 사용된다고 하였으므로 등호는 '=='로 표시해 주어야 한다.

문자형의 비교(아스키 코드)
특정한 문자에 고유의 번호를 부여한 아스키 코드를 사용해서 문자형의 크기 비교도 가능하다.

참고로 ''안에 작음따옴표(')을 출력하고 싶다면 역슬래시()를 앞에 붙여서 출력할 수 있다.
또한, ord()함수를 이용하면 문자를 숫자로, chr() 함수를 이용하면 숫자를 문자로 변형이 가능하다. 확인 결과, 같은 문자여도 대문자와 소문자에 따라서도 고유의 결과값이 달라진다는 것을 알 수 있다.

하지만 하나의 문자가 아닌 문자열을 비교할 때에는 '같다', '같지 않다'의 값만 확인할 수 있다.

논리 연산자는 and,or,not을 이용하는데 and을 확인할 때에는 하나의 값이 False이기만 해도 결과값은 False를 출력한다.

하지만 or 연산자를 이용한다면 하나의 값이 True이기만 해도 True값을 출력할 수 있다.

not 연산자는 데이터를 부정해서 반대의 결과값을 출력한다.

operator모듈을 불러온다면 연산자를 사용하지 않고, 간단하게 함수만으로 결과를 출력할 수 있다.
근데 주의해야 할 점은 파이썬의 파일명을 모듈명과 똑같은 'operator'로 저장했더니 오류가 났다........ 처음에는 철자 오류인 줄 알고 operator 한 단어만 죽어라 쳐다봤다.....
구글 검색으로 해결했다...
파일명을 달리해줬더니 해결!! 야호!

이렇게 산술연산뿐만 아니라

비교연산이나

논리연산까지 함수 계산으로 간단하게 계산할 수 있다.
우선 조건문을 들어가기 전에 간단한 조건식을 알 필요가 있다. 이 둘은 살짝 다른데 조건식은 간단한 실행문을 실행할 때 사용한다.
실행문 if 조건문 else 실행문2
조건문이 충족된다면 실행문을, 비충족된다면 실행문2을 실행한다.
단일 조건문은 조건을 충족할 때에만 실행문을 실행하고, 충족하지 않을 경우에는 별다른 실행문을 출력하지 않고 그대로 조건문을 끝내는 것을 말한다.
if 조건문:
실행문
이와 같은 코드를 사용하는데, 조건문 다음에 콜론(:)으로 조건을 기술하고, 다음에 실행문을 작성할 때에는 반드시 들여쓰기를 해서 작성해줘야 한다.
조건문이 끝났다면 들여쓰기를 해제한 다음 코드를 작성하면 된다.

양자택일 조건문은 단일 조건문에서 else: 부분을 넣어서 조건을 충족하지 않을 경우의 실행문을 출력할 수 있도록 하는 것이다.

이런식으로 단일조건문 두 개를 하나로 합쳐서 사용할 수 있다.
한 가지 팁이 있다면, 아직 실행문을 결정하지 못 했을 때 pass를 적어준다면 나중에 코딩할 수 있도록 유예가 가능하다.

만약 양단의 조건을 넘어서 다수의 조건문에 따른 실행결과를 출력하고 싶다면 elif를 이용해서 그 가짓수를 늘려줄 수도 있다.

다자택일 조건문을 사용할 때에는 조심해야 할 점이 있다.
조건의 범위를 차례대로 정렬하지 않는다면 제대로 결과값을 출력하지 못 하는 경우가 발생할 수 있다.
위와 같은 조건을 다음과 같이 작성한다고 하자.

만약 사용자가 95점을 맞았을 경우, 올바른 등급을 받는다면 'A'가 맞겠지만 첫번째 조건의 70이상의 조건을 먼저 충족했기 때문에 'C'등급을 출력하고 끝나게 된다.
하지만 이때, 조건을 차례대로 정렬하지 않아도, 조건을 세세하게 지정해 준다면 올바른 결과값을 출력할 수 있다.

if문 안에 if문을 작성하는 것을 중첩 조건문이라고 하는데 너무 많은 조건문의 중첩은 프로그램의 부하와 식별하기 쉬운 코드를 위해서 지양하는 것이 좋다.
