순서도
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 순으로 작성한다.
모두 적용해보면 아래와 같이 작성할 수 있다.
이번엔 한 개의 성적만 처리하였다. 다음에는 여러 성적을 한번에 처리할 수 있도록 해보겠다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 정수들의 합 (0) | 2019.08.18 |
---|---|
[Python] 가위바위보 게임 (0) | 2019.08.17 |
[Python] 지폐-동전 교환 (0) | 2019.08.16 |
[Python]Lesson 1 (0) | 2019.07.07 |