try-except로 오류 처리하기
함수를 직접 작성할 때는, 다른 사람이(또는 본인이 실수로) 정의한 함수를 어떻게 사용할 수 있을지 미리 예상하는 것이 좋은 습관이에요.
이전 연습 문제에서 보았듯이, len() 함수는 문자열, 리스트, 튜플 같은 입력 인수는 처리할 수 있지만 int 타입은 처리하지 못하고, 잘못된 입력을 만나면 적절한 오류와 오류 메시지를 발생시켜요. 이를 구현하는 한 가지 방법이 try-except 블록을 사용하는 예외 처리입니다.
이번 연습 문제에서는 함수를 정의하고, 함수에 잘못된 입력 인수가 전달될 때 이를 처리하기 위해 try-except 블록을 사용할 거예요.
이전에 정의했던 shout_echo() 함수를 떠올려 보세요. 함수 정의의 일부가 샘플 코드에 제공되어 있어요. 목표는 함수 정의에 예외 처리 코드를 완성하고, 오류를 발생시킬 때 알맞은 오류 메시지를 제공하는 것입니다.
이 연습은 강의의 일부입니다
Python 함수 입문
연습 안내
- 변수
echo_word와shout_words를 빈 문자열로 초기화하세요. - 예외 처리 블록의 알맞은 위치에 키워드
try와except를 추가하세요. *연산자를 사용해word1의echo복사본을 이어 붙이세요. 결과를echo_word에 할당하세요.- 문자열
'!!!'를echo_word에 이어 붙이세요. 결과를shout_words에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define shout_echo
def shout_echo(word1, echo=1):
"""Concatenate echo copies of word1 and three
exclamation marks at the end of the string."""
# Initialize empty strings: echo_word, shout_words
# Add exception handling with try-except
____:
# Concatenate echo copies of word1 using *: echo_word
echo_word = ____
# Concatenate '!!!' to echo_word: shout_words
shout_words = ____
____:
# Print error message
print("word1 must be a string and echo must be an integer.")
# Return shout_words
return shout_words
# Call shout_echo
shout_echo("particle", echo="accelerator")