Python-ում բացառությամբ ֆունկցիա

Բացառությունները շատ հարմար է նետել՝ դրանք ֆունկցիայի մեջ պայմաններով նշելով:

Եկեք ստեղծենք get_sum ֆունկցիան, որը կարտածի ցանկի տարրերի գումարը միայն այն դեպքում, եթե ցանկի երկարությունը փոքր է կամ հավասար 3: Հակառակ դեպքում, եկեք նետվի մեր ToBigLength բացառությունը:

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

Հիմա փոխանցենք get_sum ֆունկցիային ցանկ և արտածենք ֆունկցիան կոնսոլ:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # կարտածի 6

Նաև ֆունկցիաներում կարելի է սահմանել մի քանի տեսակի բացառությունների բռնում: Եկեք ստեղծենք ևս մեկ բացառության դաս ToSmallLength:

pythonclass ToSmallLength(Exception):
  pass

Հիմա ֆունկցիայի մեջ գրենք պայման, եթե ցանկի երկարությունը հավասար է զրոյի, ապա թող նետվի ToSmallLength: Եթե ոչ մի բացառություն չբռնվի, ապա թող արտածվի ցանկի բոլոր տարրերի գումարը:

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

Հարմարության համար կարելի է փակել այն ցանկը, որը կփոխանցվի ֆունկցիայի պարամետրին, հենց ֆունկցիան և դրա կանչը try բլոկում: Իսկ մեր երկու բացառությունների բռնումը տեղադրենք except բլոկներում:

pythontry:
  lst = [1, 2, 3]
  res = get_sum(lst)
  print(res)
except ToBigLength:
  print('error 1')
except ToSmallLength:
  print('error 2')
Задание 1

Ստեղծեք ֆունկցիա, որն իր պարամետրով կընդունի թիվ: Դրա մեջ գրեք պայմաններ, եթե թիվը բացասական է և հավասար է զրոյի, ապա թող նետվեն համապատասխան բացառություններ: հակառակ դեպքում թող թիվը բազմապատկվի 3-ով:

Задание 2

Ստուգեք ձեր ստեղծած ֆունկցիայի աշխատանքը try-except կոնստրուկցիայի օգնությամբ: Ընդ դեպում նաև բռնեք ձեր բացառությունները: