2023년 6월 업데이트

 

안녕하세요. SQLER의 코난 김대우입니다. 

이번 강좌에서는, Python 초급 강좌 목차 - 9. 조건문(Condition):2 다중 조건 처리를 진행토록 하겠습니다.

 

SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록

 

코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 실행하시면 됩니다.

예를 들어, 09_multi_condition.py를 생성하고 코드를 실행합니다.

 

 

 

TL;DR

이 챕터에서는 Python에서 if 문을 사용하여 여러 조건을 비교하는 방안에 대해 살펴봅니다. if 문, elif 문, else 문 사용 등, 복잡한 조건을 처리하기 위한 중첩 if 문도 다룹니다.
 

 

Python 초급 강좌 목차 - 9. 조건문(Condition):2 다중 조건 처리

 

여러 가지 조건의 비교를 해야 할 경우, 앞에서 배운 if 구문을 나열해 처리 가능합니다.

예를 들어, 지역마다 tax 값이 다를 경우의 조건을, 아래와 같이 if 구문을 나열해 여러 조건을 구현할 수도 있습니다.

하지만, 일반적으로 권장하는 방식은 아닙니다.

province = input("What province do you live in? ")
tax = 0

# 여러 if 조건문을 나열해 수행 - 권장하는 방법은 아닙니다.
if province == 'Alberta': 
    tax = 0.05
if province == 'Nunavut':
    tax = 0.05
if province == 'Ontario':
    tax = 0.13
print(tax)

 

elif를 이용한 조건 비교

이렇게 여러 if 조건을 수행할 경우, elif로 코드 패턴을 변경하는 것이 더 권장하는 방식입니다. 다음과 같이 코드에서 elif를 이용할 수 있습니다.

province = input("What province do you live in? ")
tax = 0

if province == 'Alberta': 
    tax = 0.05
elif province == 'Nunavut':  # elif 추가
    tax = 0.05
elif province == 'Ontario':
    tax = 0.13
print(tax)

 

if - elif 구문을 이용할 경우 기본조건(default condition)으로 else 구문을 추가할 수도 있습니다.

province = input("What province do you live in? ")
tax = 0

if province == 'Alberta':
    tax = 0.05
elif province == 'Nunavut':
    tax = 0.05
elif province == 'Ontario':
    tax = 0.13
else:  # default condition으로 else 구문 처리
    tax = 0.15
print(tax)

 

여러 조건을 하나의 동작으로 수행

여러 조건이 하나의 동작을 수행될 경우, 다음 코드와 같이 and 또는 or 연산자를 이용해 하나의 조건으로 조합할 수 있습니다.

아래 코드의 경우, or 조건으로 둘 중 하나의 조건이 True일 경우 다음 코드 블록이 실행됩니다.

province = input("What province do you live in? ")
tax = 0

if province == 'Alberta' or province == 'Nunavut':  # or 조건. 둘 중 하나의 조건이 True이면 실행
    tax = 0.05
elif province == 'Ontario':
    tax = 0.13
else:
    tax = 0.15
print(tax)

 

여러 or 조건들을 나열할 경우 "in" 연산자를 이용 가능

or 조건이 많아질 경우, 각 조건들을 비교하는 or 구문을 계속 나열하기 어렵습니다. 이럴 때, in 연산자를 쓰면 편리합니다.

province = input("What province do you live in? ")
tax = 0

if province in('Alberta', 'Nunavut', 'Yukon'):  # in 연산자로 비교항목을 조합(combine)하여 처리
    tax = 0.05
elif province == 'Ontario':
    tax = 0.13
else:
    tax = 0.15
print(tax)

 

중첩 if 구문(nest if statement)

조건들의 조합에 의존성이 있을 경우 - 중첩된(nested) if 구문을 사용합니다.

country = input("What country do you live in? ")

if country.lower() == 'canada':
    province = input("What province/state do you live in? ")
    if province in('Alberta', 'Nunavut', 'Yukon'):
        tax = 0.05
    elif province == 'Ontario':
        tax = 0.13
    else:
        tax = 0.15
else:
    tax = 0.0

print(tax)

 

이렇게 다중 조건 처리를 Python에서 코드로 구현할 수 있습니다.

 

연습문제

아래의 comment를 살펴보고, 이를 코드로 구현하세요. 해결방안은 c9-python-getting-started/code_challenge_solution.py at master · CloudBreadPaPa/c9-python-getting-started (github.com)에서 보실 수 있습니다.

 

# 사용자에게 이름을 묻습니다.
# 이름이 A 또는 B로 시작하는 경우 AB 방으로 배정하세요.
# 이름이 C로 시작하는 경우 C 방으로 배정하세요.
# 이름이 다른 문자로 시작하면 성을 문의합니다.
# 성이 Z로 시작하면 Z 방으로 가라고 말하세요
# 성이 다른 문자로 시작하면 OTHER 방으로 가라고 말하세요.
# 완료되면, Anna는 AB 방에 있어야 합니다.
# Bob은 AB 방에 있어야 합니다.
# Charlie는 C 방에 있어야 합니다.
# Khalid Haque는 OTHER 방에 있어야 합니다.
# Xin Zhao는 Z 방에 있어야 합니다.

 

 

파이썬 강좌 책 구매

강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다. 

 

책구매 링크: 챗GPT와 함께하는 파이썬 & 머신러닝 코딩 마스터 

파이썬-책구매링크.png

 

 

참조링크

개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝

c9-python-getting-started/python-for-beginners/09 - Handling multiple conditions at master · CloudBreadPaPa/c9-python-getting-started (github.com)

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 20204
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12142
98 Python 중급 강좌 - 4. 상속(Inheritance) 코난(김대우) 2021.01.03 239
97 Python 중급 강좌 - 3. 클래스(Class) 코난(김대우) 2021.01.03 298
96 Python 중급 강좌 - 2. 람다(Lamda) file 코난(김대우) 2021.01.03 410
95 Python 중급 강좌 - 1. Python 스타일 가이드: 서식(Formatting)과 린팅(Linting) file 코난(김대우) 2021.01.02 941
94 Python 초급 강좌 목차 - 19. 코드에서 중요한 키(패스워드) 관리 - dotenv 코난(김대우) 2021.01.02 827
93 Python 초급 강좌 목차 - 18. 데코레이터(Decorators) 코난(김대우) 2021.01.02 254
92 Python 초급 강좌 목차 - 17. JSON 데이터 처리 file 코난(김대우) 2021.01.02 704
91 Python 초급 강좌 목차 - 16. 외부 웹서비스 API 호출 file 코난(김대우) 2021.01.02 857
90 Python 초급 강좌 목차 - 15. 패키지(Package): import, pip 코난(김대우) 2021.01.02 271
89 Python 초급 강좌 목차 - 14. 함수 파라미터(Parameter) 코난(김대우) 2021.01.02 230
88 Python 초급 강좌 목차 - 13. 함수(Function) 코난(김대우) 2021.01.02 407
87 Python 초급 강좌 목차 - 12. 반복문(Loop): for, while 코난(김대우) 2021.01.02 214
86 Python 초급 강좌 목차 - 11. 컬렉션(Collection): list, array, dictionary file 코난(김대우) 2021.01.02 267
85 Python 초급 강좌 목차 - 10. 조건문(Condition):3 복잡한 조건 처리 코난(김대우) 2021.01.01 222
» Python 초급 강좌 목차 - 9. 조건문(Condition):2 다중 조건 처리 코난(김대우) 2021.01.01 260
83 Python 초급 강좌 목차 - 8. 조건문(Condition):1 (IF-ELSE) 코난(김대우) 2021.01.01 250
82 Python 초급 강좌 목차 - 7. 에러 핸들링(Error Handling) file 코난(김대우) 2021.01.01 297
81 Python 초급 강좌 목차 - 6. 날짜와 시간 데이터 처리 코난(김대우) 2021.01.01 313
80 Python 초급 강좌 목차 - 5. 숫자(Numeric) 데이터 처리 코난(김대우) 2021.01.01 252
79 Python 초급 강좌 목차 - 4. 문자열(String) 데이터 처리 코난(김대우) 2021.01.01 328





XE Login