본문 바로가기
프로그래밍/Python

[Python] 성적 처리 - 조건문

by FULL_M00N 2019. 8. 17.
728x90
반응형

성적 처리

순서도

1. 성적을 입력한다.

2. 성적에 따른 학점을 정의한다.

점수 학점
100 - 90 A
89 - 80 B
79 - 70 C
69 - 60 D
59 - 0 F

3. 학점을 출력한다.

 

2단계에서 어떻게 하면 정해놓은 성적 범위에 따라 학점을 다르게 출력할 수 있을까?

한글로는 "100에서 90일 때 A, 89에서 80일 때 B, .... , 59에서 0일 때 F" 라고 표현한다.

여기서 (조건) 일 때가 반복된다. 영어로 하면 if (condition). Python에서도 이와 비슷하게 적용된다.

 

if (condition) :

    statement

next statement

 

위와 같이 작성하면 condition을 만족하는 경우에만 statement가 실행되는 것이다. 이것을 조건문 if 라고 한다. if 사용시 주의 점은 statement 앞에 꼭 들여쓰기 ( Tap 또는 스페이스 바 4번 ) 를 해야 한다는 것이다. 위의 next statement처럼 들여쓰기를 하지 않은 문장은 condition의 영향을 받지않고 실행되는 것이다. 이제 한 번 실제로 적용해 볼까?

 

if (점수가 100이하 90이상) :

    print("A")

if (점수가 90미만 80이상) :

    print("B")

.

.

.

if (점수가 60미만 0이상) :

    print("C")

 

자, 위처럼 if 로 모든 조건과 문장들을 나열했다고 치자, 이제 조건 이외의 경우( 입력된 수가 0~100이 아닌 경우 ) 실행하고 싶은 문장이 있다면 어떻게 해야할까? 또 if 를 써서 뒤에 붙이면 될까? 아니다. 뭔가 간지가 안나... 쓸 때 없는 짓을 한 것 같다. 우리 말로는 이 외라는 말이 있지 않은가? 영어로는 else. 맞다 이를 Python에 적용하면 된다.

 

하지만 그 전에 일단 조건문들을 묶어야 else 를 쓸 수 있다. Python에는 여러가지 조건들을 동시에 묶어 실행할 수 있게 해주는 문법이 있다. 바로 elif 이다. else 랑 if 섞은 듯한 이것은 첫 if 조건문 뒤에 쓰여 연결시켜주는 역할을 한다. 우리말로 그리고, and 역할을 하는 것이다.

 

이제 else를 쓸 수 있다. elif로 연결한 조건들 이 외의 경우를 모두 else로 보내는 것이다. 그래서 if - elif - else 순서로 작성하게 된다. 물론 하나의 조건과 그 외를 표현하고 싶은 때는 if - else 순으로 작성한다.

 

모두 적용해보면 아래와 같이 작성할 수 있다.

       

첫번째 시도

이번엔 한 개의 성적만 처리하였다. 다음에는 여러 성적을 한번에 처리할 수 있도록 해보겠다.

 

728x90
반응형
SMALL

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 정수들의 합  (0) 2019.08.18
[Python] 가위바위보 게임  (0) 2019.08.17
[Python] 지폐-동전 교환  (0) 2019.08.16
[Python]Lesson 1  (0) 2019.07.07
어딨냥? 빨리 오라개! 우리집 댕냥이 팔불출력 자랑하기 이벤트