If else, and more

Page content

강의 홍보

I. 개요

  • 조건문에 대해 배우고 실습하는 시간을 갖는다.
  • else와 elif에 대해 배우고 실습한다.
  • 한줄로 작성하는 if_else에 대해 배우고 실습한다.

II. If 조건문 소개

  • Excel을 배운 사람이라면 누구나 아는 문법이다.
    • 다만, 위 문법을 파이썬 언어에 맞게 변형한 것이다.
if <조건=True>:
  <코드1>
  <코드2>

(1) 언제 실행되는가?

  • 위 구문의 뜻이 무엇인가?

    • 프로그래밍 처음 입문하는 사람이라면, 조금 난해할 수 있다.
    • 그러나, 절대 어렵지 않다.
    • 조건이 True 이면 <코드1><코드2>를 실행한다.
    • 만약, 아니라면, <코드1><코드2>는 실행되지 않는다.
  • 간단 예문으로 내용을 확인한다.

a = 0
b = 5

if a < b:
  print('yes')
yes
if a > b:
  print('yes')
  • 위 구문에서는 출력이 되지 않는다.
  • if 조건에서 False가 나타나면 코드는 실행되지 않는다.
  • 또 다른 예를 확인해본다.
if 'BC' in 'ABCD':
  print('yes')
yes
if 'ABC' in 'AB':
  print('yes')
  • 마찬가지로 TRUE일 때는 정상적으로 출력되지만, 그렇지 않을 때는 출력되지 않는다.

(2) 들여쓰기

  • 각 언어마다 고유의 문법이 있다.
  • 들여쓰기는 off-side rule이라고 한다.
  • 들여쓰기는 일종의 block과 같다.
if <조건>:
    <코드1>
    <코드2>
    ...
    <코드N>
<다른코드>
  • 위 코드에서 조건 False이면, 그 때는 다른코드가 실행된다.
  • 예제를 통해서 한번 더 확인해본다.
if 'A' in ['A', 'B', 'C']:
    print('조건은 참이다')
    print('코드를 실행한다')
    print('...')
    print('코드가 끝났다')
print('다음 코드를 실행한다')
조건은 참이다
코드를 실행한다
...
코드가 끝났다
다음 코드를 실행한다
if 'D' in ['A', 'B', 'C']:
    print('조건은 참이다')
    print('코드를 실행한다')
    print('...')
    print('코드가 끝났다')
print('다음 코드를 실행한다')
다음 코드를 실행한다
  • 위 두 코드의 차이점을 이해하였다면 사실상 조건문은 끝이다.

(3) else와 elif 조건문

  • if 조건문의 연장선이다.
  • 그러나 개념은 똑같다.
  • 이 부분은 코드를 통해서 빠르게 넘어간다.
a = 30

if a < 50:
  print('첫번째 코드 실행')
  print('a는 작다')
else:
  print('두번째 코드 실행')
  print('a는 크다')
  • 이번에는 elif 코드를 작성한다.
score = 60
if score > 100:
  print('100점을 맞지 못했군요')
elif score >= 90:
  print('90점은 넘었네요')
elif score >= 80:
  print('80점은 넘었네요')
else:
  print('80점 아래입니다. ')
80점 아래입니다. 

(4) 한줄로 작성하는 조건문

  • 오늘 내용의 핵심이다.
  • 파이썬에서 조건문은 매우 빈번하게 작성된다.
  • 우선 코드는 아래와 같이 작성한다.
    • Simple 한 코드는 아래와 같다.
if <조건문>: <코드>
  • 조금 더 확장된 코드를 작성하면 다음과 같다.
if <조건문>: <코드1>; <코드2>; ...; <코드3>
  • 위 코드의 특징은 조건문이 참이어야만 다른 코드들이 실행된다는 뜻이다.
if 'A' in 'ABC': print('A'); print('B'); print('C')
A
B
C
if 'D' in 'ABC': print('A'); print('B'); print('C')
  • 위 형태의 코드를 elif 또는 else와 같이 작성하면 다음과 같다.
x = 3
if x == 1: print('비')
elif x == 2: print('가'); print('수')
else: print('가'); print('수'); print('비')
가
수
비

(5) 파이썬씩 삼항 연산자

  • 조건이 참이면 statement1 값을 취하고 거짓이면 statement2 값을 취한다.
  • Python의 문법은 아래와 같이 작성한다.
<코드1> if <조건문> else <코드2>
  • 코드를 통해서 확인해본다.
is_rain = False
print("가자", '도서관으로' if is_rain else '해수욕장으로')
가자 해수욕장으로
is_rain = True
print("가자", '도서관으로' if is_rain else '해수욕장으로')
가자 도서관으로
  • 그런데 이러한 삼항 연산자를 쓰는 가장 큰 이유는 새로운 값을 할당해줄 때 많이 쓴다.
  • x와 y 값을 비교한뒤 조건에 따라 z값을 할당해주도록 한다.
x = 30
y = 30
z = 1 + (x if x > y else y) + 2
print(z)
34
  • x또는 y값을 변형하여 확인해본다.