⊗pyPmExcFu 82 of 129 menu

Funkcia s výnimkou v Pythone

Výnimky je veľmi pohodlné vyhodiť, keď ich v funkcii zapíšeme pomocou podmienok.

Vytvorme funkciu get_sum, ktorá vypíše súčet prvkov zoznamu iba vtedy, ak je dĺžka zoznamu menšia alebo rovná 3. V opačnom prípade nech sa vyhodí naša výnimka ToBigLength:

def get_sum(lst): if len(lst) <= 3: return sum(lst) else: raise ToBigLength

Teraz odovzdajme funkcii get_sum zoznam a vypíšme funkciu do konzoly:

lst = [1, 2, 3, 4] print(get_sum(lst)) # vypíše 6

Vo funkciách je možné nastaviť aj zachytenie viacerých typov výnimiek. Vytvorme ďalšiu triedu výnimiek ToSmallLength:

class ToSmallLength(Exception): pass

Teraz v funkcii zapíšme podmienku, že ak je dĺžka zoznamu rovná nule, nech sa vyhodí ToSmallLength. Ak sa neodchytí žiadna výnimka, nech sa vypíše súčet všetkých prvkov zoznamu:

def get_sum(lst): if len(lst) > 3: raise ToBigLength if len(lst) == 0: raise ToSmallLength else: return sum(lst)

Pre pohodlie môžeme uzavrieť zoznam, ktorý sa odovzdá do parametra funkcie, samotnú funkciu a jej volanie do bloku try. A zachytenie našich dvoch výnimok umiestnime do blokov except:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

Vytvorte funkciu, ktorá ako parameter bude prijímať číslo. V nej zapíšte podmienky, ak je číslo záporné a rovné nule, nech sa vyhodia príslušné výnimky. v opačnom prípade nech sa číslo vynásobí 3.

Skontrolujte činnosť vytvorenej funkcie pomocou konštrukcie try-except. Pri tom tiež zachyťte vaše výnimky.

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ť