if문
파이썬에서 if문의 구조는 다음과 같다
if 조건식:
코드
이때 if문안에 있는 코드는 반드시 들여 쓰기를 해야 한다.(들여 쓰기 안 할 시 오류남)
if 다음 줄에 들여 쓰기가 된 코드는 if의 영향을 받아서 조건식에 따라 실행이 결정되지만 들여 쓰기가 되지 않은 코드는 항상 실행된다.
파이썬에서:가 나오면 그 다음 줄부터는 무조건 들여 쓰기 해야 한다.
if문은 조건식이 참이면 if본문을 실행하고 거짓이면 실행하지 않는 구조이다.
x = 10
if x == 10:
print('x에 들어있는 숫자는')
print('10입니다.')
다음 코드는 참이기 때문에 if본문인 'x에 들어있는 숫자는 10입니다.'가 출력된다.
x = 5
if x == 10:
print('x에 들어있는 숫자는')
print ('10입니다.')
다음 코드는 if문이 거짓이기 때문에 들여 쓰기가 되지 않은 '10입니다'만 출력된다.
중첩 if문
x = 15
if x >= 10:
print('10 이상입니다.')
if x == 15:
print('15입니다.')
if x == 20:
print('20입니다.')
다음 코드는 x가 10이 넘으면 '10 이상입니다'를 출력하고 그 이후에 다시 x가 15면 '15입니다'를, x가 20이면 '20입니다'를 출력하게 한다.
이처럼 if문 안쪽에 if문에 하나 더 있는 것을 중첩 if문이라고 한다.
else문
else는 if문의 조건이 거짓일 경우 조건 없이 실행된다.
항상 if문이나 elif문 다음 가장 마지막에 위치해야 하며 if문 없이는 사용할 수 없다.
if 조건식:
코드1
else:
코드2
다음과 같은 구성으로 되어있다.
x=5
if x==10:
print("10입니다")
else:
print("10이 아닙니다")
if문이 거짓이기 때문에 else문 안에 있는 "10이 아닙니다"가 출력된다.
if조건문 동작 방식
if True:
print('참')
else:
print('거짓')
if False:
print('참')
else:
print('거짓')
if None:
print('참')
else:
print('거짓')
이 코드를 실행하면 참, 거짓, 거짓이 출력된다.
True는 당연히 참이고, False는 당연히 거짓이다. 하지만 None가 False 취급된다는 것을 기억하자.
if 0:
print('참')
else:
print('거짓')
if 1:
print('참')
else:
print('거짓')
이를 실행하면 거짓, 참이 출력된다.
이때 숫자 0은 False 취급되고 0이 아닌 모든 수는 다 True취급이라는 것을 기억하자.
if 'Hello':
print('참')
else:
print('거짓')
if '':
print('참')
else:
print('거짓')
이를 실행하면 참, 거짓이 출력된다.
문자열은 내용일 있을 때 True, 없을 때 False이다.
즉, 숫자 0, None, 빈 문자열은 False취급이다.
중첩 if 조건문과 논리 연산자
x가 0보다 크고 30보다 작은 수를 판단할 때 중첩 if문을 사용하면 다음과 같은 코드를 쓸 수 있다.
if x > 0:
if x < 30:
print('30보다 작은 양수입니다.')
이런 중첩 if조건문을 논리 연산자 and로 하나의 if문으로 줄여줄 수 있다.
if x > 0 and x < 3:
print('30보다 작은 양수입니다.')
여기서 끝이 아니라 파이썬에서는 이를 더 간단하게 만들 수 있다.
if 0 < x < 30:
print('30보다 작은 양수입니다.')
이처럼 논리 연산자를 이용해서 중첩 if조건문을 하나의 if문으로 줄일 수 있는 상황도 있다.
elif문
elif문은 c언어의 else if와 같은 역할을 해준다.
if, else와 마찬가지로 조건식 끝에 :을 붙여야 하고, elif문만을 단독으로 사용할 수 없다.
if 조건식:
코드1
elif 조건식:
코드2
다음과 같은 구조로 되어있다.
x=30
if x==10:
print("10입니다")
elif x==30:
print("30입니다")
elif x<=40:
print("30보다 작다")
이 코드를 실행시켜보면 "30입니다"가 출력된다.
처음 if문이 거짓이기 때문에 다음 elif문으로 내려가고 그 elif문이 참이기 때문에 "30입니다"를 출력하고 그 아래 있는 elif문을 무시하고 빠져나오는 것을 알 수 있다.
if, elif, else를 모두 사용해서 조건문을 만들려면 다음과 같은 구조이다.
if 조건식:
코드1
elif 조건식:
코드2
else:
코드3
x = 30
if x == 10:
print('10입니다.')
elif x == 20:
print('20입니다.')
else:
print('10도 20도 아닙니다.')
if문과, elif문이 모두 거짓이므로 else문이 실행되어 "10도 20도 아닙니다"가 출력된다.
'Emotion > 파이썬' 카테고리의 다른 글
함수_2 (0) | 2020.08.26 |
---|---|
파이썬 함수_1 (0) | 2020.07.08 |
파이썬 반복문 (0) | 2020.07.07 |
파이썬_2 (0) | 2020.06.29 |
파이썬_1 (0) | 2020.06.27 |