31차시. 예외 처리 설계
퀴즈 2 — 실패 이유별로 다른 안내 문장 고르기
못 찾음과 요청이 많음을 다른 안내로 나누세요.
빈칸 코드에서 시작합니다.
def user_message(kind):
pass결과 보기 (예시 풀이)
# 실패 이유(kind)에 따라 사용자에게 보여 줄 안내 문장을 고릅니다.
def user_message(kind):
# 문서에 없는 경우: 질문 표현을 바꿔 보라고 안내합니다.
if kind == "not_found":
return "문서에서 찾지 못했습니다. 표현을 바꿔 보세요."
# 호출 한도 초과: 질문은 그대로 두고 잠시 기다리라고 안내합니다.
if kind == "rate_limit":
return "요청이 많습니다. 잠시 후 다시 시도하세요."
# 그 밖의 경우는 일반 안내로 처리합니다.
return "처리할 수 없습니다."
# 세 가지 이유를 넣어 서로 다른 문장이 나오는지 확인합니다.
for kind in ["not_found", "rate_limit", "system_error"]:
print(f"{kind:<12} -> {user_message(kind)}")
# 두 경우의 문장이 같으면 오답이므로 직접 비교해 봅니다.
print("두 안내가 다른가:", user_message("not_found") != user_message("rate_limit"))
실행 결과
not_found -> 문서에서 찾지 못했습니다. 표현을 바꿔 보세요.
rate_limit -> 요청이 많습니다. 잠시 후 다시 시도하세요.
system_error -> 처리할 수 없습니다.
두 안내가 다른가: True채점 기준: 두 경우가 같은 문장이면 오답이다.
관련 교안: 31차시 「4. 왜 안내 문구를 나누는가」