ComeçarComece gratuitamente

Funções aninhadas II

Ótimo trabalho, você acabou de aninhar uma função dentro de outra função. Um outro motivo muito interessante para aninhar funções é a ideia de um fechamento. Isso significa que a função aninhada ou interna lembra o estado do escopo que a envolve quando é chamada. Assim, tudo o que for definido localmente no escopo de inclusão estará disponível para a função interna mesmo quando a função externa tiver concluído a execução.

Então, vamos seguir em frente! Neste exercício, você concluirá a definição da função interna inner_echo() e, em seguida, chamará echo() algumas vezes, cada uma com um argumento diferente. Conclua o exercício e veja qual será o resultado!

Este exercício faz parte do curso

Introdução a funções em Python

Ver Curso

Instruções de exercício

  • Complete o cabeçalho da função interna com o nome da função inner_echo() e um único parâmetro word1.
  • Complete a função echo() de modo que ela retorne inner_echo.
  • Chamamos echo(), passando 2 como argumento, e atribuímos a função resultante a twice. Sua tarefa é chamar echo(), passando 3 como argumento. Atribua a função resultante a thrice.
  • Pressione Enviar para chamar twice() e thrice() e imprimir os resultados.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Define echo
def echo(n):
    """Return the inner_echo function."""

    # Define inner_echo
    def ____(____):
        """Concatenate n copies of word1."""
        echo_word = word1 * n
        return echo_word

    # Return inner_echo
    

# Call echo: twice
twice = echo(2)

# Call echo: thrice


# Call twice() and thrice() then print
print(twice('hello'), thrice('hello'))
Editar e executar código