MoonNote

조건문(If 문)

2024. 11. 24. 11:02
반응형
     
 

조건문(If 문)이 필요한 이유

우리가 프로그래밍을 할 때 프로그램의 흐름을 제어하는데 필수적인 요소라 할 수 있는 것이 바로 조건문입니다. 프로그래밍이란 결국 사람의 생각하는 방법을 모방하여 문법화한 것이라고 볼 수 있는데요. 특정 조건 또는 선택에 따라 결과가 달라지게 되는 것이죠.

분기문, 선택의 갈림길에 놓인 사용자

 

 

조건문을 잘 활용한다면 프로그램의 유연성과 안정성을 크게 향상시킬 수 있으며 프로그램에서 아래와 같은 역할들을 수행합니다.

▪결정적 역할 : 프로그램이 특정 조건을 만족할 때만 특정 코드를 실행(예: 로그인했을 때만 개인 정보를 열람)

▪유연성 제공 : 프로그램이 다양한 상황에 적응할 수 있도록 코드 작성 가능(예: 날씨에 따라 다른 옷차림을 추천)

▪가독성 향상 : 복잡한 논리를 조건문으로 나누어 작성하므로 다른 개발자들이 코드를 이해하고 유지보수하기가 쉬워짐

▪효율적인 오류 처리 : 예상치 못한 오류 처리가 가능(예: 특정 에러 메시지의 경우 경고 팝업 창을 띄움 or 에러 무시)

▪논리적 흐름 제어 : 반복문(For, While문)과 함께 특정 조건을 충족할 경우에만 다음 단계로 넘어가도록 코드 작성

 

기본 문법

if 문

if 조건:
    실행할 코드

 

사용 예시

number = 10

if number > 0:
    print("양수입니다.")

elif문

if 조건:
    실행할 코드
elif 다른 조건:
    실행할 코드

 

사용 예시

number = 0

if number > 0:
    print("양수입니다.")
elif number == 0:
    print("0입니다.")

else문

if 조건:
    실행할 코드
else:
    실행할 코드

 

사용 예시

number = -10

if number > 0:
    print("양수입니다.")
elif number == 0:
    print("0입니다.")
else:
	print("음수입니다.")

 

코드 실습

그럼 if문을 사용하여 멤버쉽 등급에 따른 할인율 적용 예제 코드를 한번 만들어보겠습니다. 아래와 같은 조건입니다.
 ▪ 멤버쉽 등급           : Gold, Silver, Bronze

▪ 할인율 적용 수량    : 1000이상 or 1000미만

▪ 등급별 할인율 적용 : 

  Discount rate
of over 1000 amounts
Discount rate
of less 1000 amounts
Gold 20 % 15 %
Silver 10 % 5 %
Bronze 2 % 2 %
Invalid membership 0 0 %

 

실습 코드

# 사용자 입력 받기
purchase_amount = float(input("Enter the total purchase amount: "))
membership_level = input("Enter membership level (Gold, Silver, or Bronze): ").strip().lower()

# 조건문 시작
if membership_level == "gold":
    if purchase_amount >= 1000:
        discount = 0.20  # 20% 할인
    else:
        discount = 0.15  # 15% 할인
elif membership_level == "silver":
    if purchase_amount >= 1000:
        discount = 0.10  # 10% 할인
    else:
        discount = 0.05  # 5% 할인
elif membership_level == "bronze":
    discount = 0.02  # 2% 할인
else:
    discount = 0  # 멤버십 레벨에 해당되지 않음

# 최종 금액 계산
final_price = purchase_amount * (1 - discount)

# 결과 출력
if discount > 0:
    print(f"Membership Level: {membership_level.capitalize()}")
    print(f"Original Amount: ${purchase_amount:.2f}")
    print(f"Discount Applied: {discount * 100:.0f}%")
    print(f"Final Amount to Pay: ${final_price:.2f}")
else:
    print("Invalid membership level. No discount applied.")
    print(f"Final Amount to Pay: ${purchase_amount:.2f}")

 

더보기

/* 입력 조건 1 : "등급 : Gold" and "수량 : 1000이상"
   Enter the total purchase amount: 1200
   Enter membership level (Gold, Silver, or Bronze): Gold */ 
Membership Level: Gold
Original Amount: $1200.00
Discount Applied: 20%
Final Amount to Pay: $960.00

 

/* 입력 조건 2 : "등급 : Gold" and "수량: 1000미만"
    Enter the total purchase amount: 800
    Enter membership level (Gold, Silver, or Bronze): Gold */
Membership Level: Gold
Original Amount: $800.00
Discount Applied: 15%
Final Amount to Pay: $680.00

/* 입력 조건 3 : "등급 : Silver" and "수량: 1000이상"
   Enter the total purchase amount: 1200
   Enter membership level (Gold, Silver, or Bronze): Silver */
Membership Level: Silver
Original Amount: $1200.00
Discount Applied: 10%
Final Amount to Pay: $1080.00

/* 입력 조건 4 : "등급 : Silver" and "수량 : 1000미만"
    Enter the total purchase amount: 800
    Enter membership level (Gold, Silver, or Bronze): Silver */
Membership Level: Silver
Original Amount: $800.00
Discount Applied: 5%
Final Amount to Pay: $760.00

 

/* 입력 조건 5 : "등급 : Bronze" and "수량: 1000이상"
   Enter the total purchase amount: 1200
   Enter membership level (Gold, Silver, or Bronze): Bronze*/
Membership Level: Bronze
Original Amount: $1200.00
Discount Applied: 2%
Final Amount to Pay: $1176.00

/* 입력 조건 6 : "등급 : Bronze" and "수량 : 1000미만"
    Enter the total purchase amount: 800
    Enter membership level (Gold, Silver, or Bronze): Bronze */
Membership Level: Bronze
Original Amount: $800.00
Discount Applied: 2%
Final Amount to Pay: $784.00

 

/* 입력 조건 7 : "등급 : 멤버쉽이 아닐 경우"
   Enter the total purchase amount: 1200
   Enter membership level (Gold, Silver, or Bronze):  */
Invalid membership level. No discount applied.
Final Amount to Pay: $1200.00

 

 

 

 

 

 

 

 

 

 

※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band