Обробка помилок з try-except
Хороша практика під час написання власних функцій — передбачати способи, якими інші люди (або ви самі, якщо ненавмисно неправильно скористаєтеся своєю функцією) можуть використовувати визначену вами функцію.
Як і в попередній вправі, ви бачили, що функція len() уміє працювати з аргументами на кшталт рядків, списків і кортежів, але не з типом int і викидає відповідну помилку та повідомлення про помилку, коли отримує некоректні аргументи. Один зі способів це реалізувати — обробка винятків за допомогою блоку try-except.
У цій вправі ви визначите функцію та використаєте блок try-except для обробки випадків, коли до функції передаються некоректні аргументи.
Згадайте функцію shout_echo(), яку ви визначали в попередніх вправах; частини визначення функції наведено в зразку коду. Ваше завдання — завершити код обробки винятків у визначенні функції та надати доречне повідомлення про помилку під час її викидання.
Ця вправа є частиною курсу
Вступ до функцій у Python
Інструкції до вправи
- Ініціалізуйте змінні
echo_wordіshout_wordsпорожніми рядками. - Додайте ключові слова
tryіexceptу відповідні місця блоку обробки винятків. - Використайте оператор
*, щоб з'єднатиechoкопійword1. Присвойте результат до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")