파이썬 프로그래밍에서 조건문(IF문)은 프로그램의 실행 흐름을 제어하는 중요한 요소입니다. IF문은 주어진 조건을 평가하여 해당 조건이 참(True)인 경우에만 특정 코드 블록을 실행합니다. 이를 통해 우리가 원하는 프로그램을 작성할 수 있습니다. 이번 포스팅에서는 파이썬 조건문 IF문의 다양한 활용법과 기능을 자세히 알아보겠습니다.
1. 파이썬 IF 문의 기본 구조
파이썬의 IF문은 다음과 같은 기본 구조를 가집니다.
if 조건:
# 조건이 참일 때 실행되는 코드
IF문은 조건을 판단하여 참(True)인 경우에만 해당 코드 블록을 실행합니다. 조건문 다음에는 콜론(:
)이 오며, 그 아래에는 들여쓰기된 코드 블록이 위치합니다. 이 코드 블록은 조건이 참일 때 실행되는 부분이며, 거짓(False)일때는 실행 되지 않지 않습니다.
파이썬에서 들여쓰기는 4칸이 기본으로, Tab을 활용하거나 Space 키를 이용하여 4칸을 띄어쓰기하여 if 블록안에 실행 코드를 작성하게 됩니다.
2. 파이썬 IF문의 활용
1) 단일 IF문
가장 간단한 형태의 IF문으로, 주어진 조건이 참일 때만 특정 동작을 실행합니다. 거짓 (False)일 경우에는 if문 내부를 실행하지 않습니다.
age = 18
if age >= 18:
print("성인입니다.")
2) IF-ELSE문
조건이 참일 때와 거짓일 때 각각 다른 동작을 수행하려면 IF-ELSE문을 사용합니다. 이경우에는 if문 또는 else문 두개 중 하나의 코드가 무조건 실행 됩니다.
age = 15
if age >= 18:
print("성인입니다.")
else:
print("미성년자입니다.")
3) IF-ELIF-ELSE문
여러 개의 조건(다중조건)을 확인하고자 할 때 IF-ELIF-ELSE문을 사용하여 다양한 조건에 따른 동작을 설정할 수 있습니다. 아래의 예시에서 elif는 두개를 사용하였는데, 더 많이 사용해도 무방합니다.
score = 85
if score >= 90:
print("A학점")
elif score >= 80:
print("B학점")
elif score >= 70:
print("C학점")
else:
print("D학점")
3. 논리 연산자와 조합
IF문에서는 논리 연산자(and
, or
, not
)를 사용하여 여러 조건을 결합할 수 있습니다. 여기에서 연산자의 연산 순서는 비교연산자(>= 등)를 먼저 비교한 후에 논리 연산자(and, or 등)를 연사합니다. 혹시 연산자의 연산 순서에 대해 잘 모르시는 분은 지난 포스팅을 참고하시기 바랍니다.
age = 25
if age >= 18 and age <= 30:
print("성인이며 청년입니다.")
4. 파이썬 IF문의 중첩
IF문은 다른 IF문 내에 중첩하여 사용할 수 있습니다. 이를 통해 복잡한 조건을 처리할 수 있습니다.
score = 75
if score >= 70:
if score >= 90:
print("우수한 성적")
else:
print("보통 성적")
else:
print("미흡한 성적")
5. if문을 활용한 연습문제
If문의 경우 사용이 문법이 어렵다기 보다는 논리적으로 사고를 해야 하기 때문에 처음 코딩을 하는 경우 익숙하지 않을 수 있습니다. 그렇기 때문에 고민하고 많이 코딩을 해보는 연습이 중요한데요, 아래 중첩된 if문을 사용하는 습문제를 하나 작성해 두었으니, 풀어보시기 바랍니다!
아래의 정답코드를 보기전에, 본인 나름대로의 코드를 작성해본 후 답과 비교해 보시기 바랍니다. 약간의 코드 방식이 달라도 개인의 코드 성향이 다르기 때문에 같은 결과값을 도출 한다면 문제 없으니, 아래의 정답에 연연해 하지 않으셔도 됩니다.
문제1 : 사용자로부터 나이와 시간을 입력받아, 나이와 시간에 따라 할인율을 결정하는 프로그램을 작성하세요. 만약 65세 이상이거나 주간(9시부터 17시)이면 20% 할인, 그 외의 경우에는 할인 없음을 출력합니다.
# 사용자로부터 나이와 시간 입력 받기
# 아직 input 함수에 대해 배우진 않았지만, 입력받은 값을 원하는 변수에 저장하는 함수로 이해 하시면됩니다!
age = int(input("나이를 입력하세요: "))
time = int(input("시간을 입력하세요 (24시간 형식): "))
# if문을 중첩하여 할인율 결정
if age >= 65:
discount = 0.2 # 20% 할인
else:
if time >= 9 and time <= 17:
discount = 0.2 # 20% 할인
else:
discount = 0 # 할인 없음
# 결과 출력
if discount > 0:
print("할인율:", discount * 100, "%")
else:
print("할인 없음")
문제2. 용자로부터 성별과 나이를 입력받아, 성별과 나이에 따라 입장 가능 여부를 판단하는 프로그램을 작성하세요. 남성이면 18세 이상부터 입장 가능하고, 여성이면 20세 이상부터 입장 가능합니다.
# 사용자로부터 성별과 나이 입력 받기
gender = input("성별을 입력하세요 (남성 또는 여성): ")
age = int(input("나이를 입력하세요: "))
# if문을 사용하여 입장 가능 여부 판단
if gender == "남성":
if age >= 18:
can_enter = True
else:
can_enter = False
elif gender == "여성":
if age >= 20:
can_enter = True
else:
can_enter = False
else:
can_enter = False
# 결과 출력
if can_enter:
print("입장 가능합니다.")
else:
print("입장 불가능합니다.")
6. 마무리
IF문은 프로그래밍에서 중요한 역할을 하는데, 특히 다양한 조건을 판단하여 원하는 동작을 수행할 때 활용됩니다. 논리 연산자와 조건문의 조합, 중첩 IF문을 통한 복잡한 조건 처리 등을 통해 프로그램의 유연성을 높일 수 있습니다. 오늘 학습한 내용을 잘 숙지하셔 활용해 보시기 바랍니다.
감사합니다. “끝”