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 чыгарат

Ошондой эле функцияларда бир нече түрдөгү иштен чыгууларды кармоону коюуга болот. Келгиле, дагы бир иштен чыгуу класcын 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 конструкциясы менен текшериңиз. Ошону менен бирге, сиздин иштен чыгууларыңызды кармаңыз.