⊗pyPmExcFu 82 of 129 menu

Erandiga funktsioon Pythonis

Erandeid on väga mugav visata, neid funktsioonidesse tingimuste abil kirjutades.

Teeme funktsiooni get_sum, mis väljastab loendi elementide summa ainult siis, kui loendi pikkus on väiksem või võrdne 3. Vastasel juhul visatakse meie erand ToBigLength:

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

Nüüd edastame funktsioonile get_sum loendi ja väljastame funktsiooni konsooli:

lst = [1, 2, 3, 4] print(get_sum(lst)) # väljastab 6

Funktsioonides saab määrata ka mitu tüüpi erandeid püüda. Loome veel ühe erandite klassi ToSmallLength:

class ToSmallLength(Exception): pass

Nüüd kirjutame funktsiooni tingimuse, et kui loendi pikkus on võrdne nulliga, siis visatakse ToSmallLength. Kui ühtki erandit ei püüta, siis väljastatakse kõikide loendi elementide summa:

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

Mugavuse huvides saab loendi, mis edastatakse funktsiooni parameetriks, funktsiooni enda ja selle väljakutse panna try plokki. Ja meie kahe erandi püüdmise paigutame except plokkidesse:

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

Looge funktsioon, mis võtab parameetrina arvu. Kirjutage sellesse tingimused, et kui arv on negatiivne või võrdne nulliga, siis visatakse vastavad erandid. Vastasel juhul korrutatakse arv 3-ga.

Kontrollige loodud funktsiooni tööd konstruktsiooni try-except abil. Samal ajal püüdke ka teie erandid.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu