⊗pyPmExcFu 82 of 129 menu

Funkcija ar izņēmumu Python

Izņēmumus ir ļoti ērti mest, prognozējot tos funkcijās ar nosacījumu palīdzību.

Izveidosim funkciju get_sum, kas izvadīs saraksta elementu summu tikai tad, ja saraksta garums ir mazāks vai vienāds ar 3. Pretējā gadījumā, lai tiek mests mūsu izņēmums ToBigLength:

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

Tagad padodam funkcijā get_sum sarakstu un izvadām funkciju konsolē:

lst = [1, 2, 3, 4] print(get_sum(lst)) # izvadīs 6

Arī funkcijās var iestatīt vairāku izņēmumu tipu pārtveršanu. Izveidosim vēl vienu izņēmumu klasi ToSmallLength:

class ToSmallLength(Exception): pass

Tagad funkcijā norādīsim nosacījumu, ja saraksta garums ir vienāds ar nulli, tad lai tiek mests ToSmallLength. Ja nevienu izņēmumu netiks noķerts, tad lai tiek izvadīta visu saraksta elementu summa:

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

Ērtības labad varat ievietot sarakstu, kas tiks padots funkcijas parametrā, pašu funkciju un tās izsaukumu try blokā. Bet mūsu divu izņēmumu pārtveršanu ievietosim except blokos:

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

Izveidojiet funkciju, kas parametrā paņems skaitli. Tajā norādiet nosacījumus, ja skaitlis ir negatīvs un vienāds ar nulli, tad lai tiek mesti atbilstošie izņēmumi. pretējā gadījumā lai skaitlis tiek reizināts ar 3.

Pārbaudiet jūsu izveidotās funkcijas darbību ar try-except konstrukcijas palīdzību. Šajā gadījumā arī pārtveriet savus izņēmumus.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt