이번 포스팅에서는 파이썬의 3가지 제어문 중 하나인 조건문(Condition Statements)에 대하여 공부를 해보고자 한다.
조건문(Condition Statements)
조건문은 주어진 조건식의 결과(True/False)에 따라 다른 명령을 수행하도록 프로그램의 흐름을 제어하는 명령문을 의미한다.
프로그램이 명령문들을 실행하는 도중 특정 순서에서 흐름의 나눠져야 하는 경우에 사용한다.
조건문을 만들 때에는 조건문 다음에 반드시 콜론(:)을 붙여야 하고 if 조건문: 바로 아래 문장부터 if 문에 속하는 모든 문장에 들여 쓰기(indentation)를 해주어야 한다.
if 문
if 문의 기본구조
조건은 bool 결과가 들어오고, 조건 선언 다음에 ' : '으로 선언과 코드 블록을 구분한다.
조건이 True이면 block 내 명령문들이 실행되고 False이면 실행하지 않는다.
if 블록 내의 코드는 공백 4개 또는 tab 다음에 작성한다.
if 조건:
명령문1
명령문2
....
예제
순서 1. 함수를 생성한다.
순서 2. if 문을 사용하여 조건문을 생성한다. 조건은 (num == 0)
순서 3. 입력된 num값과 데이터 타입을 출력한다.
input( ) : 사용자로부터 문자열을 입력받는 함수.
int( ): 값을 정수형으로 변환 함수
num_tmp = input("정수:")
num = int(num_tmp)
if num == 0:
print("0입니다.")
print("Zero")
print(type(num))
print("종료")
[실행결과]
조건문이 True인 경우 → num == 0 인 경우
정수:0
0입니다.
Zero
<class 'int'>
종료
조건문이 False인 경우 → num == 0 이 아닌 경우
정수: '입력한 정수(int) 값'
<class 'int'>
종료
if not 문을 사용할 경우
순서 1. 함수를 생성한다.
순서 2. if not 문을 사용하여 조건문을 생성한다.
순서 3. 입력된 num값과 데이터 타입을 출력한다.
num_tmp = input("정수:")
num = int(num_tmp)
if not num:
print("0입니다.")
print("종료")
[실행결과]
조건문이 True인 경우 → num 이 아닐 경우 (0일 경우)
정수:0
0입니다.
Zero
<class 'int'>
종료
조건문이 False인 경우 → num 일 경우
정수:0
0입니다.
Zero
<class 'int'>
종료
if는 '~ 일 때', if not 은 '~가 아닐 때'라고 생각하면 이해하기 쉽다.
if else 문
if else 문의 기본구조
if 조건이 True일 경우 if 조건문: block 내 명령문들이 실행된다.
코드 블록 내의 명령문들은 공백 4개 또는 tab 다음에 작성한다.
if 조건이 False일 경우 else: block 내 명령문들이 실행된다.
코드 블록 내의 명령문들은 공백 4개 또는 tab 다음에 작성한다.
if 조건:
명령문1-1
명령문1-2
....
esle:
명령문1-1
명령문1-2
....
예제
순서 1. 함수를 생성한다.
순서 2. if else 문을 사용하여 조건문을 생성한다. 조건은 (len(s)!= 0)
순서 3. if 조건이 True 또는 False일 때 각각 block 내 명령문들을 실행한다.
len(문자열) - 글자 수를 반환한다.
len(자료구조) - 원소의 개수를 반환
s = input("글자를 입력하세요: ")
if len(s) != 0:
print('1글자 이상 입력되었습니다.')
print(f'{len(s)}글자가 입력되었습니다.')
else:
print("빈 문자열 입니다.")
print(len(s))
[실행결과]
조건문이 True인 경우 → 한 글자 이상 입력한 경우(if 조건문: 내의 명령문 실행)
글자를 입력하세요: 안녕
1글자 이상 입력되었습니다.
2글자가 입력되었습니다.
2
조건문이 False인 경우 → 0글자를 입력한 경우(else: 내의 명령문 실행)
글자를 입력하세요:
빈 문자열 입니다.
0
if elif 문
if elif 문의 기본구조
if elif 문은 조건이 여러 개일 경우 사용하고 조건문 마지막에 선택적으로 else가 올 수 있다.
조건은 처음 선언한 조건부터 순서대로 체크하여 True인 코드 블록을 실행하고 빠져나온다.
elif 마지막에 : 으로 선언과 코드 블록을 구분하고 코드 블록 내의 명령문들은 공백 4개 또는 tab 다음에 작성한다.
if 조건1:
명령문1-1
명령문1-2
....
elif 조건2:
명령문2-1
명령문2-2
....
elif 조건3 :
명령문3-1
명령문3-2
else:
명령문4
예제
순서 1. 함수를 생성한다.
순서 2. if elif 문을 사용하여 조건문을 생성한다. 조건은 (len(s) != 0)
순서 3. 처음 선언한 조건부터 순서대로 체크하여 조건이 True인 block 내 명령문을 실행한다.
num = int(input("정수: "))
if not num:
print('0입니다.')
elif num > 0:
print('양수 입니다.')
else:
print('음수 입니다.')
'Back-End > Python' 카테고리의 다른 글
[Python] break와 continue (0) | 2022.09.22 |
---|---|
[Python] 제어문 - 반복문(iteration statements) (0) | 2022.09.22 |
[Python] 파이썬 - 제어문(Control Statement) (2) | 2022.09.21 |
[Python] 자료구조 변환 함수 (2) | 2022.09.20 |
[Python] 자료구조 - Set(집합) (0) | 2022.09.20 |