반응형

안녕하세요

 

스터디에서 같이 공부한 내용을 정리하고자 글을 쓰게 되었습니다~

 

도움되셨으면 좋겠네요!

 

본 글에 나와있는 코드들을 직접 쳐보고 실행시키면서

 

여러가지로 꼬아가며 다양한 실험을 반복하시면 

 

어느새 파이썬이 익숙하고 재밌으실 겁니다~! 화이팅!

 

참고로 중간 중간 걸려있는 링크들은 글을 읽으시면서 모르는 함수, 문법 등이 나왔을 때 들어가셔서

글에 나온 정도만 이해하실 수 있으면 됩니다. (꼼꼼하게 보실 필요 없어요!)

 

1. 파이썬 조건문 - 조건식

 (1)  조건식의 종류

  ① 조건문의 기본적인 형태

 

   지금 까지 데이터의 입력/출력에 대해 공부했고,

앞으로는 입력받은 데이터를 효과적으로 가공하는 방법론에 대하여 이야기 하겠습니다~

일단 문제 상황 먼저 살펴 보시죠. 조건문을 사용해야 하는 일반적인 상황입니다!

 

"5000원인 아메리카노를 마시려고 한다. 이때, 소지한 돈이 입력될 때 아메리카노를 주문할 수 있는지 확인하는 프로그램을 짜보자. "

 

money = int(input()) # 소지한 금액이 정수형으로 입력됨

if money >= 5000 : # 소지한 금액이 5000원보다 많을 경우
    print('구매 가능합니다.')
else : # 그렇지 않을 경우
    print('돈이 부족합니다.')

 

 위와 같이 if / else 문을 이용하면 손 쉽게 짤 수 있으며, 대부분 아래와 같은 형태를 가지고 있습니다.

 

  위 과정에서 제일 중요한 부분은 <조건문> 인데, <조건문>참이라면 아래 문장들을 수행하고

거짓이라면, elif 나 else 로 건너 뛰게 됩니다. (조건문 : https://wikidocs.net/20 )

 

이제 조건문의 3가지 종류 (1. 비교연산자, 2. 논리 연산자, 3. 포함 연산자)에 대하여 공부하겠습니다~

 

 

  ② 파이썬의 비교 연산자

Operator Description Example(a=10, b=20)
== 값이 동일하다 (a == b) -> False (0)
!= 값이 동일하지 않다 (a != b) -> True (1)
> 왼쪽 값이 오른쪽 값 보다 크다 (a > b) -> False (0)
< 왼쪽 값이 오른쪽 값 보다 작다 (a < b) -> True (1)
>= 왼쪽 값이 오른쪽 값 보다
크거나 동일하다.
(a >= b) -> False (0)
<= 왼쪽 값이 오른쪽 값 보다
작거나 동일하다.
(a <= b) -> True (1)

   비교연산자는 보통 두 정수형의 대소비교를 할 때, 혹은 두 데이터가 같은지 확인 할 때 많이 사용합니다. 

아래 예시를 직접 따라 쳐보시면 금방 이해 되실 겁니다.

# 비교 연산의 판단 결과 : True(참) 아니면 False(거짓) 
print(3 > 1) 
print(int(3 > 1)) # int형으로 변환시 True -> 1 / False -> 0 !!!

 

비교 연산의 경우 당연하게 True 혹은 False 값만을 반환 하며 이는 컴퓨터 상에서 각각 1과 0으로 반환됩니다.

 

# 숫자의 등위 비교
print(2 == 3)

# 문자열의 등위 비교
print('가12' == '가12')

# 리스트의 등위 비교
print([1, 2, 3] == ['1', '2', '3'])

또한, 등위 연산자 ('==')를 이용한 다양한 자료형에 대해 서로 같은지 다른지를 판단할 수 있습니다.

# 부등호 사용하기
print(10 > 20)   # 10이 20보다 큰지 비교
print(10 < 20)   # 10이 20보다 작은지 비교
print(10 >= 10)  # 10이 10보다 크거나 같은지 비교
print(10 <= 10)  # 10이 10보다 작거나 같은지 비교

다음으로는, 논리 연산자를 살펴보도록 하겠습니다.

 

 

③ 파이썬의 논리 연산자

Operator Description Example(a = True, b = False)
and 둘다 참일때만 참 (a == b) -> False (0)
or 하나만 참이여도 참 (a != b) -> True (1)
not 논리 상태를 반전 (a > b) -> False (0)

   논리 연산자는 보통 조건이 2개 이상의 조건을 혼합할 때 많이 사용합니다.

마찬 가지로, 아래 예시를 직접 따라 쳐보시면 금방 이해 되실 겁니다.

 

# 논리 AND
print(True and True) # True 
print(True and False) # False
print(False and True) # False
print(False and False) # False

# 논리 OR
print(True or True) # True 
print(True or False) # True
print(False or True) # True
print(False or False) # False

# 논리 NOT
print(not True) # False
print(not False) # True

위의 3가지 예시 모두 익숙하시리라 생각합니다. 이제는 앞선 "비교 연산자"와 "논리 연산자"를 혼합해 보도록 하겠습니다.

 

  ④ 파이썬의 비교 연산자와 논리 연산자의 혼합

 

   대부분의 경우 논리 연산자는 비교 연산와 같이 쓰입니다. 아래 예시들 처럼요! 

# 비교 연산자와 논리 연산자의 혼합
print(10 == 10 and 10 != 5) # True and True -> True
print(10 > 5 or 10 < 3) # True or False -> True
print(not 10 > 5) # not True -> False
print(not 1 is 1.0) # not False -> True  
#'is'는 두 데이터가 동일한 객체인지(같은 주소인지) 확인하는 연산자

 이를 if문에 다음과 같이 응용할 수 있습니다.

a = int(input('a : '))

if a > 0 and a < 10 :
    print('a는 한자리 자연수 입니다.')
else :
    print('a는 한자리 자연수가 아닙니다.')

 

 다음시간에는 '리스트와 조건문'을 주제로 <조건문>에 대해 마무리 하도록 하겠습니다.

반응형