728x90

문제

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

출력

시험 성적을 출력한다.

예제 입력 1 복사

100

예제 출력 1 복사

A

score = int(input())

if score >= 90 :
    print('A')
elif score >= 80 :
    print('B')
elif score >= 70 :
    print('C')
elif score >= 60 :
    print('D')
else:
    print('F')

풀이

score = int(input())

우선 입력받는 숫자는 문자열로 입력되기 때문에 int 함수를 이용해서 정수로 변환하여 변수에 선언한다. 시험 점수이기 때문에 변수 이름은 score로 정해보았다.


삼항 연산자 풀이

if조건식은 삼항 연산자를 사용하여 한 줄로 표현하는 것이 가능한데 조건식이 여러 개인 경우 중첩된 삼항 연산자를 작성하여야 해서 가독성을 해치게 될 수가 있다. 이번 문제도 삼항 연산자를 작성해 보았는데 문장이 너무 길어져서 if - elif - else 조건식에 비해서 좋지 않다는 느낌을 받았다. 코드는 아래와 같다. 

print('A') if score >= 90 else print('B') if score >= 80 else print('C') if score >= 70 else print('D') if score >= 60 else print('F')
728x90

+ Recent posts