본문 바로가기
Hello python

[Python] 파이썬 시험 점수에 따른 성적 등급 구하기, 한 줄 함수 만들기

by Theo"Dora"-sci 2023. 5. 22.
반응형

파이썬 성적 처리하는 함수 구하기

 

문제: 100~90점이면 A, 80점대는 B, 70점대는 C, 70 이하는 F인 함수 만들어 보시오. 

 

if else 문

조건이 참일 때와 거짓일 때를 구분하여 값을 출력하려면 if else를 사용할 수 있습니다. 

if else문

if 조건 표현: 
	참일 때 수행할 결과
else: 
	if 조건이 참인 결과를 제외한, 즉, 거짓을 수행할 때의 표현

 
하지만, 
조건이 여러 개인 함수를 표현하고자 할 때는 if elif else를 사용할 수 있습니다. 
 

if elif else 문

조건이 여러 개일 때 사용하는 조건문입니다.

if elif else 문

if 조건 A:
	A 조건이 참일 때 수행하는 결과
elif 조건 B: 
 	B 조건이 참일 때 수행하는 결과, 즉 A 조건은 거짓이 됩니다. 
else: 
	모든 조건이 거짓일 때 수행하는 결과

이렇게 표현할 수 있죠. 
 

Code

즉, 조건이 여러 개인 점수 표현은 다음과 같습니다.


def what_score(num):
    if num >= 90:
        return ("A")
    elif num >= 80:
        return ("B")
    elif num >= 70:
        return ("C")
    else:
        return ("F")

what_score(98) #A

 
하지만, 이렇게 표현하면 문장이 길어지고, 차후에 조건 수정 시 번거로움이 있을 수 있습니다. 
 
따라서, dictionary를 사용하여 표현해 봅니다. 
점수를 10으로 나눈 몫을 이용한 dictionary를 작성할 수 있습니다. 
 

SCORE_DICT = {10:"A", 9:"A", 8:"B", 7:"C"} #{} 중괄호를 이용하여 dictionary를 선언합니다.
def what_score_v2(num):
	return SCORE_DICT.get(num//10, "F") #10으로 나눈 나머지가 10, 9, 8, 7 중에 없으면 F를 반환한다.

what_score_v2(98) #A

 

728x90
반응형