이제 파이썬에서 자료형을 보았으니 그렇게 본 자료형들을 어떻게 처리 할지, 프로그램을 제어해야 할 것 같습니다. 따라서, 프로그램의 제어문에 대해서 보도록 하겠습니다. 즉 처리를 하는데, A 가 무엇무엇하면 B를 하고 아니면 C를 한다, A를 몇 번 실행한다. 이런 것을 학습하도록 하는데, 맨 처음에 학습하는 IF문은 말 그대로, IF 즉 조건문입니다.
IF는 대표적으로 IF, 그리고 If - Else, IF-Elif-Else 마지막으로 중복 IF문으로 나눠 볼 수 있는데, 단독 IF문의 사용은 If-Elif의 사용에서 충분히 알 수 있으므로 이번에는 If-Elif-(Else), 그리고 중복 If문에 대해서만 살펴 보도록 하겠습니다.
1. If - Elif - Else 문.
If - Elif - Else문
먼저 If문을 실행해서 조건을 살펴 본 다음에, 조건이 맞으면 If문의 조건 밑의 코드를 실행합니다. 그리고 나머지는 무시하고 실행하지 않는다.
If 조건:
Code
Elif 조건:
Code
Else:
Code
주) If1 - If2 - If3 의 코드 일 경우에는 If문1의 조건을 보고 조건이 맞으면 코드를 실행하고, If문2의 조건을 보고 조건이 맞으면 코드를 실행하고, If문3의 조건을 보고 조건이 맞으면 코드를 실행하고.....를 반복한다. 처음에 대체 If - Elif와 If - If의 차이가 뭔지 궁금했는데 제대로 알려 주는 곳이 없어서 적어 둡니다
그 다음에 Elif의 조건을 보고 만약에 조건이 맞다면 코드를 실행하다고 그렇지 않다면 Else문을 실행합니다. Else문은 존재하지 않고, Elif로 끝나도 되지만 Elif로 해결되지 못하는 나머지 모든 조건에 코드를 실행해야 할 경우에 사용합니다. 그렇지 않을 경우, 여러 개의 Elif문을 사용해야 합니다. 코드가 좀 길어 지겠지만 Elif를 쓰는 게 확실하긴 하겠죠. 참고로 Elif는 Else - if의 준말로 우리 말로는 그렇지 않으면 입니다. 다른 언어에서는 Elseif입니다.
대표적인 성적 예시를 살펴 보겠습니다.
1. If - Elif (- Else)
import random
score = 90
attendance = 'great'
if score >= 90 and attendance =='great':
print("your score is A+")
elif score >= 90 and attendance !='great':
print("your score is A-")
elif score >= 80 and attendance =='great':
print("your score is B+")
else:
print("your score is C")
위는 Score와 Attendance로 성적을 판별하는 간단한 프로그램입니다.
설명과 함께 간단하게 코드를 알아 보겠습니다. If의 조건문: Score >=90 그리고(and) 출석 great || If의 코드: A+를 출력하고, Elif1의 조건문 Score>=90 그리고(and) 출석이 great가 아님(!=) || Elif1의 코드: A-를 출력 Elif2의 조건문 Score>=80 그리고(and) 출석이 great || Elif1의 코드: B를 출력 Else C를 출력
이는 중복 If 를 이용해서도 비슷하게 구현 될 수 있는데 자세한 코드를 보면 다음과 같습니다.
2. 중복 If
if score >= 90: grade = 'A' if attendance =="great": grade_plus = grade + '+' else: grade__plus = 'B' grade_plusOut[12]:
간단하게 If - elif로 구현 할 수 있는 걸 굳이 중복 if문으로 구현 했으니 변수가 늘어나고 그런 걸 볼 수 있지만 지금은 그런 것보다, 중복 if문을 이해하는데 의의를 두면
좋을 것 같습니다. 간단한 코드지만 line by line으로 해석을 해보면,
if1 조건: 위애서 정의한 score가 90이상 || if1의 코드: if 실행 새로운 변수 grade에 A대입한 뒤, 다시 if2문 실행(중복 if문)
if2 조건: 위에서 정의한 attendance가 great || if2의 코드: grade_plus라는 변수 정의 한 후, grade 변수에 character형 '+' 추가
else: grade_plus에 B대입
grade_plus 출력
if문에 대해서 간단하게 알아 보았으니 다음에는 제어문 중에서 반복문의 기초가 되는 While문에 대해서 알아보도록 하겠습니다. While문도 프로그래밍 상 여러모로 쓸모가 많은 구문이기 때문에 숙지하시기 바랍니다. 저도 포스팅 하면서 여러모로 배우는 점이 많네요 ㅎㅎ
'머신러닝 > 기초 문법' 카테고리의 다른 글
8. FOR문 (0) | 2019.02.11 |
---|---|
7. While. Break, Continue (0) | 2019.02.10 |
주피터 노트북 블로그에 맞기 정렬하기 (0) | 2019.02.08 |
넘파이 기초 - 배열 생성(1) (0) | 2019.01.31 |
넘파이 기초 - 색인과 슬라이싱 기초(2) (1) | 2019.01.31 |