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와 함께하는 파이썬 & 머신러닝 코딩 마스터