728x90

제어문

앞에서 공부한 자료형이 "문자"라면 제어문은 문자를 이용해서 "문장"을 만든다고 생각하시면 될 것 같습니다!

 

IF문

IF문의 구조

if 조건문:
    코드...
else:
    코드...

예를 들어 "배고프면 밥을 먹고 배고프지 않으면 밥을 먹지 않는다."라는 문장이 있을 때 배고프다, 배고프지 않다 라는 조건을 판단하여 결과를 처리해야 하는 경우가 IF문입니다.

 

status="배고프다"
if status=="배고프다":
    print("밥을 먹는다.")
else:
    print("밥을 먹지 않는다.")

# 간단한 코드 설명

# 1. status의 값은 "배고프다"이고

# 2. if status=="배고프다":     => 코드의 의미는 status가 "배고프다"이면

# 3. print("밥을 먹는다.")        => "밥을 먹는다."를 출력한다.

# 4. else:                            => 그렇지 않으면 (배고프다가 아니라면)

# 5. print("밥을 먹지 않는다.") => "밥을 먹지 않는다."를 출력한다.

# 결과: status가 "배고프다" 이므로 "밥을 먹는다."가 출력됩니다.

※주의사항

IF문에 속한 모든 문장에는 아래 #1.와 같이 들여 쓰기를 사용해야 합니다.

만약 #2와 같이 들여 쓰기를 제대로 사용하지 않는 경우 에러가 발생합니다.

JAVA, C 등의 언어를 사용하셨던 분들은 처음에 익숙하지 않을 것 같아요.

(저도 JAVA를 하다가 python을 사용할 때 자주 까먹었던 부분입니다!)

+ 조건문 뒤에 콜론(:)을 붙이는 것도 잊지 마세요! 

#1.
if 조건문:
    코드...
    코드...
#2.
if 조건문:
    코드...
  코드...
    코드...

 

그렇다면 IF 조건문에서 조건문이란?

쉽게 생각해서 참, 거짓을 판단하는 문장을 의미합니다.

example=True
if example:
    print("참!")

example은 True이기 때문에 조건문이 참이 되어 "참!"을 출력하게 됩니다.

 

"3시간 이상 공부했으면 휴식하고, 그렇지 않다면 공부하라"를 출력해보겠습니다.

hour=2
if hour>=3:
    print("휴식하라")
else:
    print("공부하라")

# 간단한 코드 설명

# 1. hour은 2이고

# 2. hour(2)>=3   => 2가 3보다 크거나 같나? False

# 3. 조건문에 만족하지 않기 때문에 "공부하라"를 출력하게 됩니다.

 

and, or, not

x or y   : x 또는 y 중 하나만 True이면 True

x and y : x 와 y 모두 True이면 True

not x    : x가 False이면 True, x가 True이면 False (부정, 반대)

 

or의 예제

"공부를 3시간 이상 했거나, 점수가 100점이라면 휴식하고, 그렇지 않다면 공부하라."를 출력해보겠습니다.

 

hour=2
point=100
if hour>=3 or point==100:
    print("휴식하라")
else:
    print("공부하라")

# 간단한 코드 설명

# 1. hour은 2이고

# 2. point는 100이다.

# 3. hour는 3보다 작아서 False 이지만 point==100 은 True이기 때문에

# 4. "휴식하라"를 출력하게 됩니다.

 

in, not in 예제

나중에 코딩 테스트를 공부하실 때 유용하게 사용되는 부분이니 꼭 알아두시는 것을 추천하겠습니다!

in not in
x in 리스트 x not in 리스트
x in 튜플 x not in 튜플
x in 문자열 x not in 문자열
print(1 in [1,2,3])
print(1 not in [1,2,3])
print('a' in [1,2,3])
print('a' not in 'python')

# 간단한 코드 설명

# 1. 1이 [1,2,3] 리스트 안에 존재하기 때문에 True

# 2. 1이 [1,2,3] 리스트 안에 존재하기 때문에 True이지만 부정이기 때문에 False

# 3. 'a'가 [1,2,3] 리스트 안에 존재하지 않기 때문에 False

# 4. 'a'가 'python' 안에 존재하지 않기 때문에 False이지만 부정이기 때문에 True

 

Quiz) 출력 결과를 예측해보세요!

basket=['apple','banana','orange']
if 'grape' in basket:
    print("있어요!")
else:
    print("없어요!")

정답: 없어요!

 

elif

"공부를 3시간 이상 했으면 휴식하고, 점수가 100점이라면 게임을 하고, 그렇지 않다면 공부하라."를 출력해보겠습니다.

hour=2
point=100

if hour>=3:
    print("휴식하라")
else:
    if point==100:
        print("게임하라")
    else:
        print("공부하라")

if, else만으로는 코드가 복잡하고 지저분해지는데 elif를 사용한다면 이 문제를 해결할 수 있습니다.

hour=2
point=100

if hour>=3:
    print("휴식하라")
elif point==100:
    print("게임하라")
else:
    print("공부하라")

위 코드는 첫 번째 코드와 동일한 코드입니다!

 

# if, elif, else 구조

 

if 조건문:
    코드...
elif 조건문:
    코드...
elif 조건문:
    코드...
...
...
else:
    코드 ...

조건부 표현식

if point >= 80:
    print("잘했어요!")
else:
    print("힘내세요!")

위 코드를 조건부 표현식을 사용하면 아래와 같이 간단하게 표현할 수 있습니다.

print("잘했어요!") if point>=80 else print("힘내세요!")
# 구조
조건이 참일 때의 결과 if 조건문 else 조건문이 거짓일 경우의 결과

조건부 표현식은 가독성이 좋고 코드를 짧게 만들기 때문에 유용하게 사용할 수 있습니다.

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 9 (기초6) for문  (0) 2021.05.22
# 파이썬 - 7 (기초4)  (0) 2021.05.15
# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04

+ Recent posts