반응형
문제: 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
반응형
'Hello python' 카테고리의 다른 글
[Python] 리스트의 표준편차를 구하는 함수 구현하기 (0) | 2023.05.20 |
---|---|
[Python] 주어진 리스트의 중간값 구하는 함수 구현하기 (median) (1) | 2023.05.19 |
[Python] 주어진 리스트의 평균값을 구하는 함수 구하기 (2) | 2023.05.18 |
[Python] 반복문 for 문을 이용한 짝수합, 홀수합 구하기 (0) | 2023.05.05 |