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
Instrukcje do ćwiczenia
- Uzupełnij nagłówek funkcji zagnieżdżonej: nadaj jej nazwę
inner()i dodaj jeden parametrword. - Uzupełnij wartość zwracaną: każdy element krotki powinien być wywołaniem
inner(), z przekazaniem odpowiednich parametrów funkcjithree_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'))