⊗pyPmExcFu 82 of 129 menu

Функция с изключение в Python

Изключенията са много удобни за хвърляне, като се пропишат във функции с помощта на условия.

Нека направим функция get_sum, която ще връща сумата от елементите на списък само, ако дължината на списъка е по-малка или равна на 3. В противен случай, нека се хвърля нашето изключение ToBigLength:

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

Сега нека подадем на функцията get_sum списък и да изведем резултата в конзолата:

lst = [1, 2, 3, 4] print(get_sum(lst)) # ще върне 6

Също така във функции може да се задава прихващане на няколко типа изключения. Нека създадем още един клас изключения ToSmallLength:

class ToSmallLength(Exception): pass

Сега нека пропишем във функцията условие, ако дължината на списъка е нула, тогава нека се хвърли ToSmallLength. Ако не се прихване никое изключение, тогава нека се върне сумата на всички елементи от списъка:

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

За удобство може да се постави списъкът, който ще се подава като параметър на функцията, самата функция и нейното извикване в блок try. А прихващането на нашите две изключения да се разположи в блокове except:

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

Създайте функция, която като параметър ще приема число. В нея пропишете условия, ако числото е отрицателно или равно на нула, тогава нека се хвърлят съответните изключения. В противен случай нека числото да бъде умножено по 3.

Проверете работата на създадената от вас функция с помощта на конструкцията try-except. При това също прихванете вашите изключения.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне