⊗pyPmFnFIF 20 of 129 menu

Funkcia v funkcii v Python

V Python je možné deklarovať inside jedných funkcií ďalšie. Nech máme vonkajšiu funkciu outer, inside ktorej sa nachádza funkcia inner:

def outer(): def inner(): pass

Uvedený príklad vyzerá dosť jednoducho. Avšak často nastávajú situácie, kedy v tele funkcie outer okrem inner vykonávajú sa aj ďalšie operácie. Pre zjednodušenie kódu by sa dalo vyniesť inner do vonkajšieho bloku kódu, avšak táto funkcia bude použitá len raz a len inside funkcie outer. Preto jej vynášať mimo nemá zmysel.

Pozrime sa na príklad, kedy do funkcie outer je odovzdaný zoznam. A pomocou funkcie inner bude číselný element zoznamu umocnený na druhú stupeň. Na to po funkcii inner deklarujeme prázdny zoznam res, v ktorom sa budú akumulovať elementy, umocnené na druhú v cykle:

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

Zavolajme funkciu outer, odovzdajme jej parameter zoznam a vypíšme výsledok do konzoly:

print(outer([2, 3, 5])) # vypíše [4, 9, 25]

Napíšte vonkajšiu a vnútornú funkciu, spoločná práca ktorých bude vypisovať každý reťazcový element zoznamu s veľkým počiatočným písmenom.

Dané funkcie:

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

Prepíšte kód tak, aby func1 bola vnútornou funkciou pre func2.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť