Python/Python 시작하기

12. 파이썬 제어문 - 조건문 (if) & 관계 연산자

arvigoes 2019. 12. 17. 23:36

관계연산자 ( Relational Operators)                        

2개의 객체간의 특정한 종류의 관계를 시험하는 연산자 입니다.

관계연산자는 이제부터 시작하는 제어문(조건문 반복문 등) 의 핵심 입니다.

프로그램의 전체는 실행흐름 이고 실행흐름은 제어와 반복으로 이뤄 짐니다.

제어와 반복의 시작은 관계연산으로 이뤄지는 것이니 정말 중요 하겠죠

같음 == 두 피연산자가 같으면 True 1 == 1  (True)
같지 않음 != 두 피연산자가 다르면 True 1 != 2  (True)
보타 큼 < 연산자 오른쪽이 크면 True 1 < 2 (True)
보다 작음 > 연산자 왼쪽이 크면 True 2 > 1 (True)
보다 크거나 같음 <= 연산자 오른쪽이 크거나 같으면 True 1 <= 1 (True)    1 <= 2 (True) 
보다 작거나 같음 >= 연산자 왼쪽이 크거나 같으면 True 1 >= 1 (True)    2 >= 1 (True)

 

조건문? (if)                                                     

조건문은 주어진 조건에 따라 프로그램의 흐름을 바꾸는 구문입니다.

간단한 예를 들면 

# 돈이 1000원 이면 사과를 사라. 아니면 자라

if money == 1000원 :
	Buy 사과
else 
	Sleep
  

이것이 조건문의 기초이고 조건문의 대부분 입니다.

조건이 충족(True) 일때 수행할 내용,  충족 하지 못 했을때(False)  수행할 내용

간단하죠?

프로그래밍이 어렵게 느껴지시겠지만 따지고보면 프로그래밍은 실행흐름을 제어 하는 것 이기때문에

if문만 잘 써도 90점은 먹고 들어갈 수 있습니다.

물론..if 문을 잘 쓰기 위해서, 그래고 효율을 위해서 많은 고민이 필요하겠죠

그렇지만 원하는 데로 돌아는 가게 만 들 수 있습니다.

# Code 1
# 조건문

if True:
    print("여기는 항상 OK")

if False:
    print("여기는 Never NO")

12-1. True

가장 기본인 조건문입니다. True 영역만 실행이 되었습니다.

여기서 영역은 들여쓰기로 나타 냅니다.

파이썬이 다른 언어와 구분되는 큰 장점(?) 인데 다른 언어는 보통 영역을 괄호등( {}, ) 으로 구분하여 사용하는데

파이썬은 이런 불필요(?)한 부분을 과감히 제거하여 들여쓰기를 통해 같은 영역임을 인지하여동작합니다.

# Code 2
# 조건문

if True:
    print("영역 시작")
    print("여기는 항상 1")
    print("여기는 항상 2")
    print("여기는 항상 3")
    print("여기는 항상 4")
    print("여기는 항상 5")
    print("여기는 항상 6")
    print("여기는 항상 7")
    print("영역 끝")
print("여기는 다른영역")
if False:
    print("여기는 Never NO")

12-2. 들여쓰기

영역을 들여쓰기로 나타내기 때문에 파이썬에서는 들여쓰기가 정말 중요 합니다.

잊지마세요. !!!

 

조건문에 객체가 들어갔을때

# Code 3
str_test = "사과"
str_empty = ""
list_test = [1,2,3]
list_empty = []

if str_test:
    print("str_test True")

if str_empty:
    print("str_empty True")

if list_test:
    print("list_test True")

if list_empty:
    print("list_empty True")

12-3. 객체의 조건

이런 특징을 알아 두시면 유용하게 사용 할 수있습니다.

문자열일때 출력하고 비어 있으면 출력하지 않고, 리스트에 데이터가 있으면 전부 더한다 라는 명령을 수행할 수도 있습니다.

# Code 4
# 조건문 관계연산자

int_test = 5
if int_test == 5:
    print("int_test 는 5 입니다.")
else :
    print("int_test 는 5 가 아니네요")

if int_test == 3:
    print("int_test 는 3 입니다.")
else :
    print("int_test 는 3 가 아니네요")

12-4. 관계연산자

if 와 else 도 같이 사용 해 봤습니다.

if -- 조건이 True 일때 수행   (int_test == 5   : True)

else -- 조건이 False 일때 수행  (int_test == 3   : False)

 

# Code 5
# 조건문 elif

int_test = 3
if int_test == 1:
    print("int_test 는 1 입니다.")
elif int_test == 2:
    print("int_test 는 2 가 입니다")
elif int_test == 3:
    print("int_test 는 3 가 입니다")
elif int_test == 4:
    print("int_test 는 4 가 입니다")
elif int_test == 5:
    print("int_test 는 5 가 입니다")

else :
    print("int_test 숫자가 아닌가봐요")

12-5. elif 사용

조건 여러개를 한곳에 모아두는 것입니다.

if 나 elif 중 한군에 True 가 된다면 나머지는 True 이어도 제일 처음 조건만 수행 됩니다.

# Code 6
# 조건문 elif

int_test = 7
if int_test > 1:
    print("int_test 는 1 입니다.")
elif int_test > 2:
    print("int_test 는 2 가 입니다")
elif int_test > 3:
    print("int_test 는 3 가 입니다")
elif int_test > 4:
    print("int_test 는 4 가 입니다")
elif int_test > 5:
    print("int_test 는 5 가 입니다")

else :
    print("int_test 숫자가 아닌가봐요")

12-6. True 가 많아도

7은 1, 2, 3, 4, 5 보다 크기때문에 if 나 elif 의 모든조건이 True 입니다.

그러나 if elif 특성상 제일처음 True 조건이 충족된 int_test > 1 의 영역 코드만 수행이 되는 것을 볼 수있습니다.

만야 아래 모든 충족되는 모든 것을 출력하고 싶다면 else 를 제거 하고

elif 를 모두 if 로 변경 해 주시면 됩니다.

# Code 7
# 조건문 elif

int_test = 7
if int_test > 1:
    print("int_test 는 1 입니다.")
if int_test > 2:
    print("int_test 는 2 가 입니다")
if int_test > 3:
    print("int_test 는 3 가 입니다")
if int_test > 4:
    print("int_test 는 4 가 입니다")
if int_test > 5:
    print("int_test 는 5 가 입니다")

12-7. 모두 True

조건문과 관계연산자 는 프로그래밍의 핵심이니 꼭 숙지 하시길 바랍니다.