TIL 18 | python, if 조건문, else, elif

ryan·2020년 8월 2일
0

Python

목록 보기
7/18

if 조건문

조건문은 특정 조건일 때 코드를 실행하는 문법이다.'

if 조건문 사용

if 조건식:
	코드
x = 100

if x == 100:	# x가 100과 같다면
	print('100입니다.')	# 이 코드를 실행하라
    
100입니다		# 출력

if 조건문에서 코드 생략

나중에 작성해야 할 코드를 표시할 때 사용할 수 있다. TODO, FIXME, BUG, NOTE 등과 같이 코드는 아니지만 일관된 주석을 사용해서 검색하면 쉽게 찾을 수 있다.

x = 100
if x == 100:
	pass		# TODO: if x == 10, execute somthing
    
    

if 조건문 들여쓰기

파이썬은 들여쓰기가 문법으로 정해져 있어서, if조건문도 들여쓰기가 중요하다. 잘못된

x = 100

if x == 10:
    print("What's in x?")
    print('I guess, ten?')
    
    
What's in x?
I guess, ten?

들여쓰기는 공백 4칸을 권장한다.

중첩 if 조건문 사용

프로그래밍을 하다 보면 if를 여러번 사용하는 복잡한 조건도 자주 나온다.

x = 5

if x >= 0:
    print('0 이상입니다.')
        
    if x == 5:
        print('5입니다.')

    if x == 10:
        print('10입니다.')

들여쓰기가 된 if x ==5:와 if x == 10:은 처음에 나온 if x >= 0:에 속한 코드이고, 처음 if 조건식이 만족해야만 실행이 된다.

사용자가 입력한 값에 if 조건문 사용

input을 사용해서 사용자가 입력한 값을 변수에 저장하고, if 조건문으로 값을 비교해보자

y = int(input())

if y == 10:
    print('10입니다.')

if y == 20:
    print('20입니다.')

10		# 입력
10입니다.

20		# 입력
20입니다.

else를 사용해서 두 방향으로 분기해보자

if 조건문은 분기(branch)를 위한 문법이다. 즉, 분기는 '둘 이상으로 갈라지다'라는 뜻으로 프로그램의 흐름을 둘 이상으로 나누는 것을 말합니다.

else 사용하기

if 조건식:
코드1
else:
코드2

else는 if의 조건식이 만족하지 않을 때 코드를 실행한다.

x = 10

if x == 15:
    print('15입니다.')
else:
    print('15가 아닙니다.')

else와 들여쓰기

else는 if와 들여쓰기 규칙이 같다

if 조건문의 동작 방식

if 조건문과 boolean

if True:
    print('참')		# True는 참
else:
    print('거짓')

if False:
    print('참')
else:
    print('거짓')		# False는 거짓

if None:
    print('참')
else:
    print('거짓')		# None은 거짓


참
거짓
거짓

if 조건문에 숫자 지정

숫자는 정수(2진수, 10진수, 16진수), 실수와 관계없이 0이면 거짓, 0이 아닌 수는 참이다.

if 조건문에 문자열 지정

내용이 있을 때 참, 빈 문자열은 거짓이다.

조건식 여러 개 지정하기

조건이 복잡할 때는 어떻게 해야할까?

if조건문에는 논리 연산자를 사용하여 조건식을 여러 개 지정할 수 있다.

x = 1
y = 2

if x == 1 and y == 2:
    print('참')
else:
    print('거짓')

참

중첩 if 조건문과 논리 연산자

논리 연산자는 여러 조건을 판단할 때 if를 계속 나열해서 중첩 if 조건문으로 만드는 경우가 많다.

x = 10

if x > 0:
    if x < 30:
        print('30보다 작은 양수입니다.')

30보다 작은 양수입니다.

if x > 0 and x < 30:
	print('30보다 작은 양수입니다.')		# and 논리 연산자를 사용해서 if 하나로 줄일 수 있다.
    
if 0 < x < 30:
	print('30보다 작은 양수입니다.')		# 이렇게 더 간단하게 만들 수 있음.

elif 사용해서 여러 방향으로 분기해보자

프로그램을 만들다 보면 참, 거짓으로만 분기하는 것은 한계가 있다. 실제로는 두 가지 이상의 다양한 상황이 발생한다.
예시) 음료수 자판기

elif 사용하기

if 조건식:
	코드1
elif 조건식:
	코드2
x = 20
if x == 10:
	print('10입니다.')
elif x == 20:
	print('20입니다.')
    
20입니다.

if, elif, else를 모두 사용하기

if 조건식:
	코드1
elif 조건식:
	코드2
else 조건식:
	코드3
if x == 30:
	print('10입니다.')
elif x == 20:
	print('20입니다.')
else:
	print('10도 20도 아닙니다.')
    
10도 20도 아닙니다.

커피 자판기 만들어보기

button = int(input())

if button == 1:
    print('블랙커피')
elif button == 2:
    print('설탕커피')
elif button == 3:
    print('밀크커피')
elif button == 4:
    print('코코아')
elif button == 5:
    print('율무차')
else:
    print('매진')
    
1
블랙커피

9
매진
profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

0개의 댓글