본문 바로가기

Lecture/Python Quest

Python Quest 4: If Else

강의내용:

1) Python: logical expression

2) Python: Indentation

3) Python: If, Elif, Else

 

파이썬에서 변수 a와 b의 상관관계를 표현하는 논리적 표현은 다음과 같은 것들이 있다.

  • 같은지 비교: a == b
  • 같지 않은지 비교: a != b
  • a가 b보다 적은지 비교: a < b
  • a가 b보다 적거나 같은지 비교: a <= b
  • a가 b보다 큰지 비교: a > b
  • a가 b보다 크거나 같은지 비교: a >= b

이렇게 비교하는 논리적 연산은 참 (true) 혹은 거짓 (false)로 결과가 나오며, 밑에서 이야기할 if 키워드에서 자주 사용된다.

 

IF... 만약에 우리 <https://www.youtube.com/watch?v=Qw7NyYUXJKo>

if 키워드는 논리비교를 통한 참과 거짓을 가려 참일때 (혹은 거짓일때) 할 일을 정하는 문법이다.

if expression1 :
	# to do if true
elif expression2 :
	# to do if expressino1 is false, but expression2 is true
else
	# to do if expression2 is false

if를 자세히 하기 전에 일단 들여쓰기 (indentation)부터 알아보자.

 

indentation은 줄의 앞에 스페이스를 넣는 것을 말하는데, 파이썬에서는 indentation을 사용해서 문법의 범위를 정한다.

예를 들어 if를 사용하는 경우에, 논리연산이 참일 경우에 실행해야 할 코드는 반드시 if보다 더 들여서 써야한다.

if a > b:
	print (a)	# print a if a is bigger than b
else:
	print (b)	# print b if a is not bigger than b

if a > b:
print (a)		# ERROR!

다른 프로그래밍 언어는 보통 curly bracket ( { } )으로 범위를 정한다

예를 들어 C 언어에서의 if 문법은,

if (a > b)
{
	// to do if a is bigger than b
    // do someting else
}

파이썬은 들여쓰기가 생명인 언어이다.

 

다시 if로 돌아와서, 문법의 사용법은 이렇다.

if 논리연산:
     논리연산이 참일 경우 해야할 코드
     논리연산이 참일 경우 해야할 코드들..

이 경우에는 논리연산이 거짓일 경우에는 아무것도 하지 않는다.

 

논리연산이 거짓일때 다시 다른것을 비교하기 위해서는 elif 키워드를 사용한다.

if 논리연산:
      논리연산이 참일때 할 코드들
elif 논리연산2:
      논리연산2가 참일때 할 코드들
elif 논리연산3:
      논리연산3이 참일때 할 코드들

 

elif는 여러번 나와도 된다. 참인 논리연산만이 실행된다.

 

논리연산이 참이 아닐 경우 해야할 것이 있다면 else를 사용한다.

if 논리연산:

      참일때

else:

      거짓일때 실행할 코드들

if 논리연산:
      참일때
else:
      거짓일때 실행할 코드들

if 안에 if가 또 와도 된다.

if 논리연산1:
	논리연산1이 참일때
	if 논리연산2:
      	논리연산1이 참이고 논리연산2가 참일때
	else:
    	논리연산1은 참이나 논리연산2가 거짓일때
else:
	논리연산1이 거짓일때

 

예를 하나 들어보자.

우리가 1자리의 숫자를 변수에 넣고, 그 숫자가 1~9 중 무엇인지 알고 싶다. 물론 9보다 크거나 0보다 작은 경우도 알고싶다.

그럼 이런 코드를 생각할 수 있다.

num = 8		# initial value to 8 as an example

if num == 1:
    print("숫자는 1 입니다.")
elif num==2:
    print("숫자는 2 입니다.")
elif num==3:
    print("숫자는 3 입니다.")
elif num==4:
    print("숫자는 4 입니다.")
elif num==5:
    print("숫자는 5 입니다.")
elif num==6:
    print("숫자는 6 입니다.")
elif num==7:
    print("숫자는 7 입니다.")
elif num==8:
    print("숫자는 8 입니다.")
elif num==9:
    print("숫자는 9 입니다.")
else:
    print("숫자가 1보다 작거나 9보다 큽니다.")
    

 

비교를 할 때 AND 혹은 OR 키워드를 사용할 수 있다. 둘 다 논리연산 사이에 들어가는 키워드이며 결과는 참, 거짓을 가진다.

AND는 AND 키워드 앞의 논리연산과 뒤의 논리연산 모두가 참일 경우에 참을,

OR은 OR 키워드 앞의 논리연산과 뒤의 논리연산 중 하나라도 참일 경우에 참을 돌려준다.

 

예를 들어,

if a > b AND b > c:
	# a가 b보다 크고, b가 c보다 클 경우에만 참
    
if a > b OR b > c:
	# a가 b보다 크거나, b가 c보다 클 경우 둘 중 하나만이라도 참이면 참.

 

if는 모든 프로그래밍 언어에서 사용하고 중요한 역할을 하는 키워드이므로 많이 써서 잘 아는것이 중요하다.

'Lecture > Python Quest' 카테고리의 다른 글

Python Quest 5: Loop (while, for)  (0) 2019.06.03
Python Quest 3: Data types  (0) 2019.05.17
Python Quest 2: Variables  (0) 2019.04.25
Python Quest 1: 파이썬 설치, Hello World  (0) 2019.04.22