파이썬 & 오픈소스 개발 Tip과 강좌

이곳은 파이썬과 여러 오픈소스 기반 프레임워크 관련 Tip과 강좌 게시판 입니다. 관련 개발을 진행하면서 알아내신 Tip이나 강좌와 새로운 소식을 적어 주시면 다른 공부하는 분들에게 큰 도움이 됩니다. 감사합니다. SQLER.com은 개발자와 IT전문가의 지식 나눔을 실천하기 위해 노력하고 있습니다.

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

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

 

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

 

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

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

 

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

 

참고링크

개발자 커뮤니티 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 Python 무료 강좌 - 기초, 중급, 머신러닝(2021년 1월 업데이트) 코난(김대우) 2021.01.01 305
103 Python 중급 강좌 - 9. 비동기 작업(Asynchronous operations): asyncio 코난(김대우) 2021.01.03 145
102 Python 중급 강좌 - 8. 외부 리소스 관리(Managing external resources): with 코난(김대우) 2021.01.03 71
101 Python 중급 강좌 - 7. 파일작업(File read/write) file 코난(김대우) 2021.01.03 95
100 Python 중급 강좌 - 6. 파일시스템(File system) 관리 코난(김대우) 2021.01.03 81
99 Python 중급 강좌 - 5. 다중상속(Mixins - multiple inheritance) 코난(김대우) 2021.01.03 73
98 Python 중급 강좌 - 4. 상속(Inheritance) 코난(김대우) 2021.01.03 23
97 Python 중급 강좌 - 3. 클래스(Class) 코난(김대우) 2021.01.03 37
96 Python 중급 강좌 - 2. 람다(Lamda) file 코난(김대우) 2021.01.03 46
95 Python 중급 강좌 - 1. Python 스타일 가이드: 서식(Formatting)과 린팅(Linting) file 코난(김대우) 2021.01.02 61
94 Python 초급 강좌 목차 - 19. 코드에서 중요한 키(패드워드) 관리 - dotenv 코난(김대우) 2021.01.02 32
93 Python 초급 강좌 목차 - 18. 데코레이터(Decorators) 코난(김대우) 2021.01.02 28
92 Python 초급 강좌 목차 - 17. JSON 데이터 처리 file 코난(김대우) 2021.01.02 61
91 Python 초급 강좌 목차 - 16. 외부 웹서비스 API 호출 file 코난(김대우) 2021.01.02 51
90 Python 초급 강좌 목차 - 15. 패키지(Package): import, pip 코난(김대우) 2021.01.02 35
89 Python 초급 강좌 목차 - 14. 함수 파라미터(Parameter) 코난(김대우) 2021.01.02 27
88 Python 초급 강좌 목차 - 13. 함수(Function) 코난(김대우) 2021.01.02 25
87 Python 초급 강좌 목차 - 12. 반복문(Loop): for, while 코난(김대우) 2021.01.02 26
86 Python 초급 강좌 목차 - 11. 컬렉션(Collection): list, array, dictionary file 코난(김대우) 2021.01.02 33
» Python 초급 강좌 목차 - 10. 조건문(Condition):3 복잡한 조건 처리 코난(김대우) 2021.01.01 25
84 Python 초급 강좌 목차 - 9. 조건문(Condition):2 다중 조건 처리 코난(김대우) 2021.01.01 39





XE Login