파이썬 프로그램의 조건문으로 if, elif, else 문, 조건이 여러개인 경우 등 예시를 통해 알아보도록 하겠습니다.
조건문이란
조건문이란 제어 구조라고도 알려졌으며 기초적인 문법을 조금 숙지했다면 실제 코드를 생성하기 위해서 다음 단계로 알아야 하는 과정입니다.
조건문을 통해 지정된 조건이 참인지 거짓인지에 따라 결정을 내릴 수 있습니다. 파이썬에서는 if, elif, elif의 세 가지 주요 조건문이 있습니다.
조건문을 통해 프로그램의 작동에 대해 내가 원하는 방향으로 이끌어 갈 수 있기 때문에 기초적이지만 중요한 내용 중 하나입니다.
if문
if문은 가장 기본적인 조건문입니다. 지정된 조건이 True로 평가되는 경우, 즉 조건에 맞는 경우에만 코드 블록을 실행할 수 있습니다.
예제1 : 양수 체크
주어진 숫자 x가 양수인지 확인하기 위해서는 다음과 같은 예시를 통해 알 수 있습니다.
x = 10
if x > 0:
print("The number is positive.")
예시를 보면 x는 10이라는 값이 입력되어 있습니다. 이를 양수인지 체크하기 위해 'if x > 0 : ' 이라는 문장을 써주었는데, 만약 x가 0보다 크면이라는 의미를 가집니다.
0 뒤에는 콜론(:)이 있는데 이 조건에 대한 마침표와 같은 의미로, 내가 원하는 조건을 다썼다라고 컴퓨터에 알려주는 역할 입니다.
조건을 만족하면 다음 문장을 실행하게 되는데 다음의 print 문을 보면 "The number is positive."를 출력하라고 합니다. x는 10으로 0보다 크기 때문에 해당 print 문을 실행하여 The number is positive.라는 문장을 출력하게 됩니다.
여기서 중요한 부분은, 들여쓰기 입니다. if문안에 있는 문장이라는 것을 인식하기 위해 들여쓰기를 해줘야 해당 if문에 부합한 경우 다음 문장이 실행된다는 뜻으로 받아들입니다.
예제2 : 여러개 if문 사용하기
보다 복잡한 조건을 처리하기 위해 if문을 중첩할 수 있습니다. 다음 예시에서는 입력된 숫자가 짝수인지 홀수인지 확인하기 위해 if문 안에 다른 if문을 사용하였습니다.
x = 10
if x > 0:
if x % 2 == 0:
print("The number is positive and even.")
else:
print("The number is positive but not even.")
x는 10이라는 값이 들어있고, 먼저 'if x > 0:'으로 양수인지 확인합니다.
앞의 조건이 만족하여 양수인 경우 다음 if문이 실행되는데, 'if x % 2 == 0:'를 넣어 짝수 여부를 확인합니다. 여기서 %는 2로 나눈 나머지를 의미하는데 나머지가 0인 경우 참으로 인식합니다.
이때 또 하나 주의할 점이 있는데 =을 쓰지 않고 ==을 써야 같다라는 의미가 됩니다. =을 쓰는 경우는 '0을 넣어줘라'라는 뜻이 되기 때문에 x를 2로 나눈 나머지를 0을 넣어주라는 뜻이 되기 때문에 if문에서는 에러가 발생합니다.
따라서 반드시 == 기호로 넣어주어야 우리가 일반적으로 생각하는 같다라는 의미가 됩니다.
다음으로 else : 문장으로 가게되면, 들여쓰기가 한번되어 있는 것으로 첫번째 if문인 'if x > 0:'를 만족한 경우에만 올 수 있는데 프로그램을 순서대로 인식하기 때문에 다음 if문인 ' if x % 2 == 0:' 만족하지 않은 경우 else 문으로 넘어오게 됩니다.
따라서 이 else문의 출력은 양수이지만 짝수가 아닌 경우 print문을 출력하게 됩니다.
요약해보자면 짝수인 경우는 'The number is positive and even.'라는 문장을, 홀수인 경우에는 ' The number is positive but not even.' 문장을 출력하게 됩니다.
만약 x에 음수인 값이 입력되었다면 아무런 문장이 출력되지 않습니다.
결과적으로 x에 10이 들어있기 때문에 0보다 크다는 첫번째 조건을 만족하고 두번째 조건인 2로 나누었을 때 나머지가 0이므로 짝수라는 뜻의 'The number is positive and even.' 문장이 출력됩니다.
elif문
앞의 예시를 통해 if문의 작동원리와 중첩하여 쓰는법까지 배웠습니다.
if문을 2개 이상 사용하여 첫번째 조건이 만족한 다음 두번째 조건을 실행하는 방법을 알았다면 여기서는 같은 수준에서 여러개의 경우의 수가 있는 경우 사용할 수 있는 elif에 대해 알아보겠습니다.
elif는 else if의 줄임말로써, 이전 if 또는 elif 조건이 충족되지 않으면 elif문 아래의 코드 블록이 실행됩니다.
if condition1:
# Code to execute if condition1 is True
elif condition2:
# Code to execute if condition2 is True
예제3 : 시험등급 만들기
elif를 활용하여 학생들의 점수에 따라 등급을 매기는 예시를 통해 알아보겠습니다.
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print(f"Your grade is {grade}.")
앞의 예제2에서 if문을 중첩으로 쓰는 경우는 첫번째 조건이 참인 것중 들여쓰기를 한번 더하여 두번째 조건을 만족한다면과 같이 한 수준을 만족하면 하위 수준에 대한 조건이었습니다.
여기서는 같은 수준에서 맞고 틀리고에 따라서 조건이 실행됩니다. 먼저 첫번째 문장인 if문부터 보자면 만약 점수가 90점 이상이라면 grade에 A를 줍니다.
다음으로 elif의 조건을 풀어보자면 else if이기 때문에 90점 이상이 아니고 80점 이상이라면 grade에 B를 줍니다. 즉, 이 말은 80점 이상이고 90점 미만은 grade에 B라는 값이 입력됩니다.
이렇게 동일하게 실행되고 else 부분에 보면 60점 미만인 경우는 grade에 F가 입력되겠지요.
print 문을 보면 ()안에 있는 맨 처음 f는 출력하는 형식으로 지금은 크게 신경쓰지 않아도 됩니다. 다만 {grade}는 앞의 조건인 점수에 따라 grade에 입력된 A, B, C, D, F와 같이 조건에 맞는 값이 출력됩니다.
따라서 해당 score에는 85가 입력되었기 때문에 'Your grade is B.'가 출력되는 것을 알 수 있습니다.
else문
else 문은 앞의 if 또는 ellif 조건이 충족되지 않을 때 사용되며, 다른 모든 조건이 거짓일 때 실행됩니다.
if condition:
# Code to execute if the condition is True
else:
# Code to execute if the condition is False
이미 앞에서 if문과 elif문을 설명하면서 같이 사용된 내용이기 때문에 간략하게 설명하도록 하겠습니다.
예제4 : 짝수, 홀수, 0 분류하기
else문은 단독으로 쓰이기 보다는 if 및 elif 문과 결합하여 사용됩니다.
x = 10
if x > 0:
print("The number is positive.")
elif x == 0:
print("The number is zero.")
else:
print("The number is negative.")
x가 if문에서는 0보다 크면 조건을 만족하기 때문에 양수를 출력하게 되고, if문을 만족하지 않고 elif문을 만족한다면 0이라고 출력이 됩니다. 앞의 두 조건을 모두 만족하지 않는다면 else문이 실행되어 음수가 출력됩니다.
여기까지 파이썬에서 if, elif, else문이 어떻게 작동하는지에 대해 알아보았습니다.
만약 if, elif, else에 대해 더 자세한 문법을 알고 싶으시다면 아래 링크를 참고해주세요.
'방구석코딩 > 파이썬 기초문법' 카테고리의 다른 글
[파이썬] for문 안에 for문 사용법 (feat. break 명령어) (1) | 2023.11.13 |
---|---|
[파이썬] for문 range(범위) 사용법 (1) | 2023.11.06 |
[파이썬] isinstance 함수 사용법 (변수 유형, 데이터 유형 확인) (1) | 2023.10.23 |
[파이썬] pow() 함수(feat.연산자를 이용한 제곱근 구하는 방법) (0) | 2023.10.16 |
[파이썬] round 함수 활용법 및 예시 (숫자 반올림) (0) | 2023.10.09 |
댓글