2023년 6월 업데이트

 

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

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

 

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

 

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

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

 

 

 

TL;DR

이 챕터에서는 if 문에서 AND 연산자를 사용하는 복잡한 조건문을 다룹니다. 중첩된 if 문을 보여주고 AND 조건 등을 사용하여 더 나은 조건을 설정하는 방식을 논의합니다.

 

 

Python 초급 강좌 목차 - 10. 조건문(Condition):3 복잡한 조건 처리

조건문 마지막 강좌입니다. 제목에 complex가 포함되어 있어 복잡해 보이지만, 실제로는 AND 조건을 주로 소개합니다.

예를 들어, 장학생을 선발하는 조건이라고 할 때,

  • 0.85 이상의 평균 학점 조건
  • 그리고, 최하위 등급이 0.7 이상

인 조건을 만족해야 장학생으로 선발된다고 가정해 볼 수 있습니다. 이 경우 아래와 같이 if 조건을 중첩해 처리 가능하지만, 권장하지 않습니다.

 

if 구문을 중첩해 사용하는 패턴

# 평균이 등급이 0.85 이상이고, 최하위 등급이 0.7이 아니면 이 학생은 우등생으로 분류합니다.
if gpa >= .85:
    if lowest_grade >= .70:
        print('You made the honour roll')

 

AND 조건 사용

더 좋은 방법은 if 구문에서 AND 조건을 이용하는 방법입니다.

# 평균이 등급이 0.85 이상이고, 최하위 등급이 0.7이 아니면 이 학생은 우등생으로 분류합니다.
if gpa >= .85 and lowest_grade >= .70:  # and 조건
    print('You made the honour roll')

이렇게 표현하면 좀 더 쉽게 코드로 구현 가능합니다. AND 조건은 각 조건이 모두 True일 경우에만 다음 코드가 실행됩니다.

 

만약, 장학생 여부 결과를 기억해야 한다면, 조건 체크 후 결과를 변수에 담아 나중에 처리 가능합니다.

# 요구사항이 장학생 요건에 적절한지 체크합니다. 
gpa = float(input('What was your Grade Point Average? '))
lowest_grade = float(input('What was your lowest grade? '))

# Boolean 변수에 True/False 값을 저장 가능합니다.
if gpa >= .85 and lowest_grade >= .70:
    honour_roll = True  # 이렇게 결과를 honour_roll 변수에 저장
else:
    honour_roll = False

# 학생이 장학생인지 확인해야 하는 경우 앞에서 세팅 한 Boolean 변수만 확인하면 됩니다.
if honour_roll:
    print('You made honour roll')

 

 

연습문제

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

 

# 하키 팀에 가입하면 유니폼 뒷면에 이름이 표시됩니다, 
# 그렇지만 유니폼은 이름의 모든 글자를 담을 만큼 충분히 크지 않을 수도 있습니다.
# 사용자에게 이름을 묻습니다.
# 사용자에게 성을 입력받습니다.

# 이름이 < 10 이고 성이 < 10 인 경우
#   유니폼에 성과 이름을 인쇄
# 이름이 >= 10 이고 성이 < 10 인 경우
#   이름의 첫 이니셜과 성 전체를 인쇄합니다.
# 이름이 < 10 이고 성이 >= 10 인 경우
#   전체 이름과 성의 첫 이니셜을 인쇄합니다.
# 이름이 >= 10 이고 성이 >= 10 인 경우
#   성만 인쇄합니다.

# 다음 이름을 테스트합니다.
# 이름 : Susan  성 : Ibach
# 결과 : Susan Ibach
# 이름 : Susan  성 : ReallyLongLastName
# 결과 : Susan R.
# 이름 : ReallyLongFirstName  성 : Ibach
# 결과 : R. Ibach
# 이름 : ReallyLongFirstName  성 : ReallyLongLastName
# 결과 : ReallyLongLastName

 

 

파이썬 강좌 책 구매

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

 

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

파이썬-책구매링크.png

 

참고링크

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

c9-python-getting-started/python-for-beginners/10 - Complex conditon checks at master · CloudBreadPaPa/c9-python-getting-started (github.com)

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





XE Login