НачатьНачать бесплатно

Обработка ошибок с помощью 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")
Редактировать и запускать код