Python - Python if 조건문으로 특정 조건일 때 코드 실행하기
Python
- Python 기본
- Python 숫자 계산하기
- Python 변수 만들기
- Python 출력 방법
- Python 불과 비교, 논리 연산자
- Python 문자열 사용하기
- Python 리스트와 튜플 사용하기
- Python 시퀀스 자료형 활용하기
- Python 딕셔너리 사용하기
- Python if 조건문으로 특정 조건일 때 코드 실행하기
- Python else를 사용하여 두 방향으로 분기하기
- Python elif를 사용하여 두 방향으로 분기하기
- Python for 반복문
- Python while 반복문
- Python break, continue로 반복문 제어하기
- Python 중첩루프
- Python FizzBuzz 문제
- Python 터틀 그래픽스로 그림 그리기
- Python 리스트와 튜플 응용하기
- Python 리스트와 튜플 응용하기 - 2
- Python 2차원 리스트 사용하기
- Python 문자열 응용하기
- Python 딕셔너리 응용하기
- Python 세트 사용하기
- Python 파일 사용하기
- Python 회문 판별과 N-gram 만들기
- Python 함수 사용하기
- Python 함수에서 위치 인수와 키워드 인수 사용하기
- Python 함수에서 재귀호출 사용하기
- Python 람다 표현식 사용하기
- Python 클로저 사용하기
- Python 클래스 사용하기
- Python 클래스 속성과 정적, 클래스 메서드 사용하기
- Python 클래스 상속 사용하기
- Python 두 점 사이의 거리 구하기
- Python 예외 처리 사용하기
- Python 이터레이터 사용하기
- Python 제너레이터 사용하기
- Python 코루틴 사용하기
- Python 데코레이터 사용하기
- Python 정규표현식 사용하기
- Python 모듈과 패키지 사용하기
- Python 모듈과 패키지 만들기
Python if 조건문으로 특정 조건일 때 코드 실행하기
조건문은 특정 조건일 경우 코드를 실행하는 문법이다. 조건문은 여러 가지 상황을 처리해야 하는 경우 다양한 상황에 대처할 때 사용한다.
1. if 조건문 사용하기
if 조건문은 if에 조건식을 지정하고 :(클론)을 붙이며 다음줄에 실행할 코드가 나온다. 이때 코드는 반드시 들여쓰기를 해야한다.
if 조건식 :
코드
x = 10
if x = 10 :
print('10입니다')
# 출력 : 10입니다.
if 조건문의 기본 형태와 실행 흐름 알아보기
파이썬에서 if 조건문은 if 조건식 : 형식으로 사용하며 그 다음 줄에는 들여쓰기를 한 뒤 조건식이 만족할 때 실행할 코드를 넣는다. 이 조건식이 만족할 때 실행할 코드를 if 본문(if body)이라고 부른다.
if x == 10 : # 조건식
print('10입니다.') #if 본문
# 들여쓰기4칸
if 의 조건식이 만족하면 참(True), 만족하지 않으면 거짓(False)이라고 부른다.
if 조건문을 사용할 때 주의할 점
if 조건문을 사용할 때 주의할 점이 있는데 파이썬에서는 =을 할당으로 사용하고 있으므로 값을 비교할때는 ==로 사용한다. 자주 틀리는 부분이니 if안에서 == 을 사용했는지 반드시 확인하자. 또한 :(클론)을 빠뜨리지 않도록 주의한다.
if x = 10:
File "<stdin>", line 1
if x = 10:
^
SyntaxError: invalid syntax
if x == 10
File "<stdin>", line 1
if x == 10
^
SyntaxError: invalid syntax
if 조건문에서 코드를 생략하기
if 조건문에 조건식만 작성하고 코드를 생략하는 방법을 알아보자. if 다음줄에 pass라는 특별한 키워드를 넣었다. 여기서 pass는 아무 일도 하지 않고 그냥 넘어간다는 뜻이다. 파이썬은 if 다음줄에 아무 코드도 넣지 않으면 에러가 발생하므로 if 조건문의 형태를 유지하기 위해 pass를 사용한다.
pass는 아무 일도 하지 않는 코드라서 의미가 없을 것 같지만 나중에 작성해야 할 코드를 표시할 때 사용할 수 있다. 즉, 다음과 같이 pass만 넣고 나중에 할 일은 주석으로 남겨놓는 방식이다.
if x == 10:
pass # TODO: x가 10일 때 처리가 필요함
- TODO : TODO는 해야 할 일이라는 뜻인데 보통 주석에 넣는다. 이렇게 TODO를 넣어 두면 검색으로 쉽게 찾을 수 있다.그래서 프로그래머들은 주석에 TODO 이외에도 FIXME, BUG, NOTE 등과 같이 코드는 아니지만 일관된 주석을 사용한다.
2. if 조건문과 들여쓰기
파이썬은 들여쓰기도 문법으로 정해져 있으며 if 조건문도 들여쓰기가 중요하다.
아래 코드를 실행하면 unexpected indent 에러가 발생한다.
x = 10
if x == 10:
print('x에 들어있는 숫자는')
print('10입니다.') # unexpected indent 에러 발생
올바른 코드로 고쳐보자.
x = 10
if x == 10:
print('x에 들어있는 숫자는')
print('10입니다.')
# 실행결과 x에 들어있는 숫자는
# 10입니다.
if 다음에 오는 코드들은 반드시 들여쓰기 깊이가 같아야 한다. 만약 첫 번째 print만 들여쓰기를 하고, 두 번째 print는 들여쓰기를 하지 않으면 의도치 않은 동작이 된다.
x = 10
if x == 10:
print('x에 들어있는 숫자는')
print ('10입니다.')
# 실행결과 x에 들어있는 숫자는
# 10입니다.
print 두 개가 모두 실행되 잘 동작하는것 같지만 x의 값을 5로 하면 어떻게 될까? x에 5를 할당했기 때문에 if의 조건식을 만족하지 않음으로 다음에 오는 print는 실행이 되지 않는다. 그런데 print(‘10입니다.’)는 실행이 되었다. 들여쓰기가 없어서 if와는 상관없는 코드가 되었기 때문이다.
x = 5 # x에 5를 할당
if x == 10: # x가 5라서 조건식을 만족하지 않음
print('x에 들어있는 숫자는')
print ('10입니다.')
# 10입니다.
즉, if 다음 줄에 들여쓰기가 된 코드는 if의 영향을 받아서 조건식에 따라 실행이 결정되지만 들여쓰기가 되지 않은 코드는 항상 실행된다. 이런 코드는 일단 실행이 되기 때문에 잘못된 부분을 찾기가 쉽지 않다. 내가 의도한 부분의 코드의 들여쓰기가 일치하는지 항상 확인하자. 파이썬에서 :가 나오면 그 다음 줄부터는 무조건 들여쓰기를 한다는 점만 기억하면 된다.
if와 들여쓰기 칸 수
if에서 처음부터 들여쓰기를 4칸으로 했다면 계속 4칸으로 유지하고, 2칸으로 했다면 계속 2칸으로 유지한다. 어떨 땐 4칸 어떨 땐 2칸 이렇게는 안 된다. 파이썬 코딩 스타일 가이드(PEP 8)에서는 공백4칸으로 규정하고 있으므로 4칸을 권장한다.
3. 중첩 if 조건문 사용하기
if 를 여러번 사용하는 중첩 if 조건문을 사용해보자. 다음은 변수의 값이 10이상이면 ‘10 이상입니다.’를 출력한 뒤 15이면 ‘15입니다.’, 20이면 ‘20입니다.’를 출력한다.
x = 15
if x >= 10:
print('10 이상입니다.')
if x == 15:
print('15입니다.')
if x == 20:
print('20입니다.')
# 출력 10 이상입니다.
# 15입니다.
들여쓰기에 주목하자. x가 10이상일때 출력하는 코드안에 if를 보면 들여쓰기가 되어있다. 이렇게 들여쓰기가 된 if x == 15:와 if x == 20:은 처음에 나온 if x >= 10:에 속한 코드이다. 즉, if x >= 10:의 조건식이 만족해야만 실행되는 코드라는 말이다.
if x >= 10:
print('10 이상입니다.')
if x == 15:
print('15입니다.')
if x == 20:
print('20입니다.')
그리고 다시 안쪽의 if에 속한 print는 들여쓰기를 한번 더 해준다.
if x >= 10:
print('10 이상입니다.')
if x == 15:
print('15입니다.')
if x == 20:
print('20입니다.')
4. 사용자가 입력한 값에 if 조건문 사용하기
이번에는 input을 사용하여 사용자가 입력한 값을 변수에 저장하고, if 조건문으로 값을 비교해 보자.
x = int(input()) # 입력받은 값을 변수에 저장
if x == 10: # x가 10이면
print('10입니다.') # '10입니다.'를 출력
if x == 20: # x가 20이면
print('20입니다.') # '20입니다.'를 출력
입력 값이 x에 저장되고, if로 x가 10인지 비교하였다. 여기서는 10을 입력했으므로 ‘10입니다.’가 출력된다. 20과 다른 값을 입력하여 if가 동작하는 모습을 살펴보자.
지금까지 if 조건문에 대해 알아보았다. if 조건문은 조건식이 만족했을 때 코드를 실행한다는 점이 중요하다. 특히 if 조건문은 들여쓰기에 따라 문법 에러가 발생하거나, 의도치 않은 동작이 나올 수 있으므로 들여쓰기 규칙을 정확히 익혀 두는것이 중요하다.
Subscribe to My Coding Practice Gym
Get the latest posts delivered right to your inbox