⊗pyPmFnFIF 20 of 129 menu

Funkcija u funkciji u Pythonu

U Pythonu je moguće deklarisati jedne funkcije unutar drugih. Neka imamo spoljnu funkciju outer, unutar koje se nalazi funkcija inner:

def outer(): def inner(): pass

Gore navedeni primer izgleda prilično jednostavno. Međutim, često postoje situacije kada u telu funkcije outer pored inner izvršavaju se i druge operacije. Radi pojednostavljenja koda bi bilo moguće izdvojiti inner u spoljni blok koda, međutim ova funkcija će se koristiti samo jednom i samo unutar funkcije outer. Stoga nema smisla nju izdvajati.

Hajde da razmotrimo primer, kada u funkciju outer bude prosleđena lista. A pomoću funkcije inner će numerički element liste biti podignut na kvadrat. Za ovo nakon funkcije inner deklarišemo praznu listu res, u kojoj će se akumulirati elementi, kvadrirani u petlji:

def outer(lst): def inner(num): return num ** 2 res = [] for el in lst: res.append(inner(el)) return res

Hajde da pozovemo funkciju outer, prosledimo joj parametar listu i ispišemo rezultat u konzolu:

print(outer([2, 3, 5])) # ispisaće [4, 9, 25]

Napišite spoljnu i unutrašnju funkciju, čiji će zajednički rad ispisivati svaki element liste tipa string sa velikim početnim slovom.

Date su funkcije:

def func1(num): if num > 0: num += 2 return num def func2(iter): res = [] for el in iter: res.append(func1(el)) return res

Prepišite kod tako da func1 bude unutrašnja funkcija za func2.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij