⊗pyPmExcFu 82 of 129 menu

Funkcija sa izuzetkom u Pythonu

Izuzetke je veoma zgodno bacati, propisujući ih u funkciji pomoću uslova.

Hajde da napravimo funkciju get_sum, koja će ispisivati zbir elemenata liste samo ako je dužina liste manja ili jednaka 3. U suprotnom, neka se baci naš izuzetak ToBigLength:

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

Sada prosledimo funkciji get_sum listu i ispišimo rezultat funkcije u konzolu:

lst = [1, 2, 3, 4] print(get_sum(lst)) # ispisaće 6

Takođe, u funkcijama je moguće postaviti hvatanje nekoliko tipova izuzetaka. Hajde da kreiramo još jednu klasu izuzetaka ToSmallLength:

class ToSmallLength(Exception): pass

Sada ćemo propisati u funkciji uslov: ako je dužina liste jednaka nuli, neka se baci ToSmallLength. Ako se ne uhvati nijedan izuzetak, neka se ispiše zbir svih elemenata liste:

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

Radi praktičnosti, možemo staviti listu, koja će se proslediti kao parametar funkciji, samu funkciju i njen poziv u blok try. A hvatanje naša dva izuzetka smestićemo u blokovima except:

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

Kreirajte funkciju koja će kao parametar primatiti broj. U njoj propišite uslove: ako je broj negativan ili jednak nuli, neka se bace odgovarajući izuzeci. U suprotnom neka broj bude pomnožen sa 3.

Proverite rad vaše kreirane funkcije pomoću konstrukcije try-except. Pri tome takođe uhvatite vaše izuzetke.

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