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

Вложенные функции I

В предыдущем видео вы узнали о вложении функций внутрь других функций. Один из поводов использовать этот приём — избежать повторения одних и тех же вычислений в разных частях кода. Ничего принципиально нового здесь нет: вложенная функция определяется точно так же, как обычная — с помощью def, только размещается внутри другой функции.

В этом упражнении вам нужно определить вложенную функцию inner() внутри функции three_shouts(). Функция inner() должна конкатенировать строку с !!!. Затем three_shouts() вернёт кортеж из трёх элементов, каждый из которых — строка, к которой с помощью inner() добавлено !!!. Вперёд!

Это упражнение является частью курса

Введение в функции Python

Посмотреть курс

Инструкции к упражнению

  • Заполните заголовок вложенной функции: укажите имя inner() и единственный параметр word.
  • Заполните возвращаемое значение: каждый элемент кортежа должен быть вызовом inner(), которому передаётся соответствующий параметр из three_shouts().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Define three_shouts
def three_shouts(word1, word2, word3):
    """Returns a tuple of strings
    concatenated with '!!!'."""

    # Define inner
    def ____(____):
        """Returns a string concatenated with '!!!'."""
        return word + '!!!'

    # Return a tuple of strings
    return (____, ____, ____)

# Call three_shouts() and print
print(three_shouts('a', 'b', 'c'))
Редактировать и запускать код