Programming

; develop a program

Back-End/Python

[Python] 제어문 - 조건문(Condition Statements)

Clloud_ 2022. 9. 21. 12:43
반응형

이번 포스팅에서는 파이썬의 3가지 제어문 중 하나인 조건문(Condition Statements)에 대하여 공부를 해보고자 한다.

 


조건문(Condition Statements)

입력 받은 a 의 값이 0인지 여부에 따라 두가지 흐름으로 분기된다.

 

조건문은 주어진 조건식의 결과(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('음수 입니다.')

 


반응형