Python-06.ConditionalStatement

안녕하세요 묵호입니다.
이번 글은 Conditional Statement, 조건문에 대해 적은 글입니다.

조건문

조건문이란 “만약 ~이면, A를 한다”라는 의미의, 영어의 if 문법과 유사합니다. 생각보다 간단한 구문이기 때문에 코드 보시겠습니다.

a = 5
if a % 2 == 1:
    print("홀수")
else:
    print("짝수")
# 홀수

if의 조건은 ‘a를 2로 나누었을 때의 나머지가 1인가’로, a가 홀수인지를 묻고 있습니다. a는 5이고, 5는 홀수이기 때문에 ‘홀수’라는 글자가 print됩니다.
여기서 else는 if의 조건이 False인 경우 실행되는 구문입니다.

어? 그러면 조건문은 참, 거짓 두 가지의 경우의 수만 따질 수 있나요? 라는 생각이 들 수 있습니다. 아닙니다. 우리에게는 else if가 있답니다.
파이썬에서는 elif로, if의 조건이 False인 경우, 다시 조건을 따져보는 절차를 밟습니다. 아래 코드는 시험 점수에 따른 학점을 출력하는 코드입니다.

score = 71
if score >= 90:
    print('A')
elif score >= 80:
    print('B')
elif score >= 70:
    print('C')
elif score >= 60:
    print('D')
else:
    print('F')
# C

해당 코드에서는 score가 90점 이상인지, 80점 이상인지 확인하고, 70점 이상인지 확인해 True인 경우를 찾습니다. 그 결과 70점 이상 80점 미만에 해당하는 학점 C가 출력됩니다.

중첩 조건문

중첩 조건문은 if문 하위에 if문이 들어가는 경우입니다. 위 코드에서는 시험 점수가 100점 초과, 0점 미만인 경우를 걸러내지 못합니다. 그것을 중첩 조건문을 통해 해결해보겠습니다.

score = 71
if (score >= 0) and (score <= 100):
    if score >= 90:
        print('A')
    elif score >= 80:
        print('B')
    elif score >= 70:
        print('C')
    elif score >= 60:
        print('D')
    else:
        print('F')
# C

이렇게 유효한 시험 점수인 경우, 시험 점수에 따른 학점을 계산하는 코드를 짜보았습니다. 만약 시험 점수를 120점과 같이 잘못 입력하는 경우, 첫 if문에서 걸러질 것입니다.

다음 시간에는 모듈에 대해 알아보겠습니다.
그럼.. 바위^^