이제 파이썬에서 자료형을 보았으니 그렇게 본 자료형들을 어떻게 처리 할지, 프로그램을 제어해야 할 것 같습니다. 따라서, 프로그램의 제어문에 대해서 보도록 하겠습니다. 즉 처리를 하는데, 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")

your score is A+


위는 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_plus
Out[12]:
'A+'

간단하게 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문도 프로그래밍 상 여러모로 쓸모가 많은 구문이기 때문에 숙지하시기 바랍니다. 저도 포스팅 하면서 여러모로 배우는 점이 많네요 ㅎㅎ



+ Recent posts