파이썬/기본

[파이썬] 조건문

caramel-bottle 2023. 9. 6.

조건문

조건이 참인지 거짓인지에 따라 다른 동작을 실행하는 제어문이다.

if, elif, else

if문

if 조건:
	실행할 코드

가장 기본적인 조건문으로, '조건'에 해당하는 값이 True 일 경우에만 해당 블록 내의 코드를 실행한다.

* 블록의 기준은 같은 들여쓰기.

if

bool1 = True

if bool1:
  print('결과는 참입니다.')
  
print('프로그램을 종료합니다.')

'조건'에 해당하는 변수 'bool1'의 값이 'True'이므로 블록 내의 출력문이 실행되는 것을 알 수 있다.

 

bool1 = False

if bool1:
  print('결과는 참입니다.')
  
print('프로그램을 종료합니다.')

반면에 'bool1'의 값이 'False'이므로 블록 내의 출력문이 실행되지 않는 것을 확인할 수 있다.


응용

age = int(input('나이를 입력하세요.'))

if age > 19:
  print('성인입니다.')

print('입력한 나이: ', age)

'조건'에 해당하는 값은 참(True) 또는 거짓(False) 을 나타내는 모든 값이 들어갈 수 있다.

비교연산자를 사용하여 두 값을 비교하는 경우는 자주 사용된다.


else문

if 조건 1:
  코드 블록 1
  
elif 조건 2:
  코드 블록 2
  
else:
  코드 블록 3

else는 조건문 구조에서 if, elif의 조건을 모두 만족하지 못했을 경우 실행된다. else는 생략이 가능하다.

else는 '조건'을 갖지 않고 '위의 조건들이 모두 만족하지 않는다 ' 라는 조건이 포함되어있다.

 

else

age = int(input('나이를 입력하세요 '))

if age > 19:
  print('성인입니다.')
  
else:
  print('미성년입니다.')

print('입력한 나이: ', age)

위 구조에서는 if 가 False면 곧바로 else를 실행한다.

조건문 구조에서는 if에서부터 순차적으로 조건을 확인한다.

만약 if 조건이 참이면 아래 조건들은 접근조차 하지 않는다.


elif문

if 조건 1:
  코드 블록 1
  
elif 조건 2:
  코드 블록 2
  
elif 조건 3:
  코드 블록 3
  
...

else:
  코드 블럭 4

 

elif는 if - else 구조에서 추가적인 조건을 검사하기 위해 사용된다. "else if"의 줄임말이다.

확인할 조건이 여러개 있을 경우 사용한다.

 

age = int(input('나이를 입력하세요 '))

if age > 19:
  print('성인입니다. ')
  
elif age > 14:
  print('청소년입니다. ')
  
elif age > 6:
  print('어린이입니다. ')
  
elif age > 0:
  print('유아입니다. ')
  
else:
  print('입력을 확인하세요. ')

print('입력한 나이는: ', age)


조건부 표현식

(조건이 참인 경우 값) if (조건식) else (조건이 거짓인 경우 값)

조건부 표현식은 삼항연산자라고도 불린다. 삼항연산자는 다른 언어에도 존재하는데 그 의미와 사용법이 다르다.

간단한 if-else 구문을 더 간결하게 표현할 수 있다.

일반 if - else

num = int(input('숫자를 입력하세요.'))

if num % 2 == 0:
  print('짝수')
  
else:
  print('홀수')

조건부 표현식

num = int(input('숫자를 입력하세요.'))

print('짝수') if num % 2 == 0 else print('홀수')

위 두 코드는 정확히 같은 결과를 가진다. 당연하게도 조건부 표현식이 훨씬 간결하다.

간결하고 가독성이 좋아질 경우에만 사용하곤 하는데 취향에 따라 사용하면 된다.


응용예제

국어, 영어, 수학점수를 입력받아 총점, 평균, 학점을 구하는 프로그램

 

k, e, m = input('국어, 영어, 수학 점수를 순서대로 입력하시오. ').split(' ')
sum = int(k) + int(e) + int(m)
avg = sum / 3
score = ''
if avg >= 90:
  score = 'A'
elif avg >= 80:
  score = 'B'
elif avg >= 70:
  score = 'C'
elif avg >= 60:
  score = 'D'
else:
  score = 'F'

print('총점은 %d점 평균은 %.1f점 학점은 %s입니다.' %(sum, avg, score))


응용 과제 - 음악 추천 프로그램

2023.09.06 - [개발/파이썬] - [응용]음악 추천 프로그램 - if 제어문 공부

 

[응용]음악 추천 프로그램 - if 제어문 공부

IF 제어문을 사용하여 간단한 음악 추천 프로그램을 만들어 보았다. 급하게 만들었기에 어떤 경우엔 이상한 출력이나 오류가 발생할 수 있다. 추천해줄 음악 리스트는 딕셔너리에 미리 저장하였

caramelbottle.tistory.com

 

댓글