조건문

2023. 2. 26. 20:18Python/실전 예제로 배우는 파이썬 프로그래밍

조건문은 특정 조건식에 따라서 실행문의 실행이 결정되는 명령문으로, 파이썬에서는 if, elif, else 등의 명령어를 제공합니다.

 

단일 조건문

조건식 한 개를 기준으로 비교 판단하여 처리하는 형식을 갖습니다. if 명령어 다음에 조건식을 지정하고, 콜론(:) 기호를 이용하여 수행할 실행문들을 블록 처리합니다. 

 

형식 1

if 조건식 :
       실행문     -> if 블럭
       실행문

실습 단일 조건문 형식 1 예문

var = 10	# if  블럭에서 사용될 변수
if var >= 5 :	# 조건식
	print('var=', var)
    print('var는 5보다 크다.')
    print('조건이 참인 경우 실행')
    
print('항상 실행')

var= 10
var는 5보다 크다.
조건이 참인 경우 실행

항상 실행

var변수는 if 블록에서 조건식으로 사용되는 변수입니다. 조건식은 산술, 관계, 논리 연산자를 이용하여 정의할 수 있습니다.

if 블록이 모두 실행되면 프로그램 순서에 의해서 if 블럭 다음 문장이 실행됩니다.

 

형식 2

if 조건식 :
       실행문            -> 첫 번째 블럭
       실행문
else :
      실행문             -> 두 번째 블럭
      실행문

실습 단일 조건문 형식 2 예문

# 100~85 : '우수', 84~70: '보통', 69이하 : '저조'
score = int(input('점수 입력 : '))
if score >= 85 and score <= 100 :
	print('우수')
else :
	if score >= 70 :
    	print('보통')
	else :
    	print('저조')	# 69이하

점수 입력 : >? 92
우수

점수 입력 : >? 80
보통

점수 입력 : >? 55
저조

 

중첩 조건문

if 블록 내에 또 다른 if 블록이 포함된 형태를 갖습니다. 주로 여러 개의 조건식을 비교 판단하여 로직을 구현할 때 이용됩니다.

 

형식

if 조건식1 :
       실행문1
elif 조건식2 :
       실행문2
else :
        실행문n

실습 중첩 조건문 예

score = int(input('점수 입력 : '))
grade = ''	# 등급

if score >= 85 and score <= 100 :
	grade = '우수'
elif score >= 70 :
	grade = '보통'
else :
	grade = '저조'
    
print('당신의 점수는 %d이고, 등급은 %s'%(score, grade))

점수 입력 : >? 89
당신의 점수는 89이고, 등급은 우수입니다.

점수 입력 : >? 75
당신의 점수는 75이고, 등급은 보통입니다.

점수 입력 : >? 60
당신의 점수는 60이고, 등급은 저조

'단일 비교 판단문 형식 2'의 예문과 결과는 동일하지만 '중첩 비교 판단문'을 이용하면 프로그램의 가독성이 좋아집니다.

 

삼항 조건문

삼항 연사자라 불려지며, 조건식이 참인 경우와 거짓인 경우의 처리할 문장을 한 줄로 작성하고, 조건식의 비교 판단 결과에 따라서 선택적으로 각 실행문이 실행됩니다.

 

형식

변수 = 참 if (조건문) else 거짓

실습 삼항 조건문 예

# (1) 일반 조건문
num = 9	# 초기화
result = 0

if num >= 5 :
	result = num * 2
else :
	result = num + 2
print('result =', result)

result = 18

# (2) 3항 연산자
# 형식) 변수 = 참 if (조건문) else 거짓
result2 = num * 2 if num >= 5 else num + 2
print('result2 = ', result2)	# 18

result2 = 18

일반 조건문에서 num이 5보다 크거나 같으면 2를 곱하고, 그렇지 않으면 2를 더하는 명령문을 3항 연산자로 코딩한 예문입니다.