백준 9498번 - 시험 성정 with python
Q. 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
<if문>
지난 시간에 포스팅했던 글을 상기시켜보자.
if 문에 대해 사용할 때
if 조건1:
수행할 문장1
수행할 문장2
elif 조건2:
수행할문장A
수행할문장B
...
else 조건3:
수행할문장(1)
수행할문장(2)
의 형태로 조건문을 작성해주면 된다. 여기서 주의해야할 점은 조건 뒤에 콜론(:)을 붙여줘야하며,
각 조건 안에 있는 수행할문장들은 모두 들여쓰기가 되어야하며 들여쓰기의 양이 같아야한다.
그럼 이제 문제 상황에 맞는 코드를 작성해보자.
A = int(input())
if A >=90:
print("A")
elif A >= 80:
print("B")
elif A >=70:
print("C")
elif A >= 60:
print("D")
else:
print("F")
A를 정수형의 인자로 받아주고, 나머지 조건들을 처리해주었다.
여기서 elif를 처리하는 과정을 해석해보면 A>=80이상일 때 B를 출력해준다는 내용이다.
여기서 의문점이 들 수 있다. 만약에 저 코드를 다 실행시켜보면, A=100이라면
마지막 else식을 제외하고 모든 조건문에 맞는 게 아닌가? 그래서 A, B, C, D 모두 출력되지 않을까?라는 의문점 말이다.
하지만 그렇지 않다.
여기서 if문이 참이면 바로 if문에 해당하는 식이 실행되고, 만약 if문이 거짓이라면, 그 다음에 elif를 처리하는 것이기 때문이다.
그러므로 두번째 조건식 elif A >=80이 참인 것이 의미하는 것은,
if A >=90이 거짓일때, 즉 A < 90이고, A >= 80이 성립하는 것을 의미하므로
A가 80이상이고 90미만일 때를 나타내는 것이다. 즉, 문제 상황인 80 ~ 89점은 B을 만족한다는 것이다.
이러한 원리로 C는 70이상 80미만, D는 60이상 70미만을 나타내고,
else 조건문은 위에 모든 조건들을 다 만족하지 않을 때이므로 A < 60일 때를 나타낸다.
그럼 상황을 다 이해했으므로 A = 100을 넣어보자.

A에 100을 넣었을 때 A등급이 잘 출력되는 것을 확인할 수 있다.
<코드>
A = int(input())
if A >=90:
print("A")
elif A >= 80:
print("B")
elif A >=70:
print("C")
elif A >= 60:
print("D")
else:
print("F")
'우당탕탕 파이썬 with 하루하나 알고리즘' 카테고리의 다른 글
백준 14681 파이썬 - if문을 활용하여 사분면 번호 출력하기 (0) | 2022.03.15 |
---|---|
백준 2753 파이썬 - if 문에 and, or 연산자 사용하기 (0) | 2022.03.14 |
백준 1330 파이썬 - if문을 통해 두 수 비교하기 (0) | 2022.03.12 |
백준 2588 파이썬 - 세자리수 × 세자리수 (각 자리수 계산) (0) | 2022.03.11 |
백준 10430 파이썬 - 복잡한 연산(나눗셈, 나머지, 곱셈, 한번에 출력) (0) | 2022.03.10 |