Zacznij terazZacznij za darmo

Funkcje zagnieżdżone I

W poprzednim filmie poznałeś zagnieżdżanie funkcji wewnątrz innych funkcji. Jednym z powodów, dla których warto to robić, jest unikanie powielania tych samych obliczeń w wielu miejscach. Definiowanie funkcji zagnieżdżonych nie różni się niczym od definiowania zwykłych funkcji – używasz słowa kluczowego def i umieszczasz funkcję wewnątrz innej funkcji.

W tym ćwiczeniu zdefiniujesz wewnątrz funkcji three_shouts() zagnieżdżoną funkcję inner(), która dołącza do przekazanego ciągu znaków !!!. Funkcja three_shouts() zwraca krotkę trzech elementów – każdy z nich to ciąg znaków zakończony !!!, uzyskany za pomocą inner(). Do dzieła!

To ćwiczenie jest częścią kursu

Wprowadzenie do funkcji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij nagłówek funkcji zagnieżdżonej: nadaj jej nazwę inner() i dodaj jeden parametr word.
  • Uzupełnij wartość zwracaną: każdy element krotki powinien być wywołaniem inner(), z przekazaniem odpowiednich parametrów funkcji three_shouts() jako argumentów.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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'))
Edytuj i uruchom kod