Kazi yenye Kukwepa katika Python

Vikwepo vinafaa kabisa kutupwa, ukivibainisha katika kazi kwa kutumia masharti.

Tufanye kazi get_sum, ambayo itatoa jumla ya vipengele ya orodha tu, ikiwa urefu wa orodha ni mdogo kuliko au sawa na 3. Vinginevyo, iachwe kitupwe kikwepo chetu ToBigLength:

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

Sasa tupe kazi get_sum orodha na tuonyeshe kazi kwenye koni:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # itatoa 6

Pia katika kazi unaweza kubainisha ukamataji wa aina kadhaa za vikwepo. Tufanye darasa lingine la vikwepo ToSmallLength:

pythonclass ToSmallLength(Exception):
  pass

Sasa tubainishe katika kazi sharti, ikiwa urefu wa orodha ni sawa na sifuri, basi aachwe kitupwe ToSmallLength. Ikiwa hakikamatwi kikwepo chochote, basi aachwe kionyeshe jumla ya vipengele vyote vya orodha:

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

Kwa urahisi unaweza kuweka orodha, ambayo itapewa kwenye kigezo cha kazi, kazi yenyewe na mwito wake katika kizuizi try. Na ukamataji wa vikwepo vyetu viwili uweke katika vitenganishi except:

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

Unda kazi, ambayo kigezo chake kitakuwa kupokea nambari. Ndani yake bainisha masharti, ikiwa nambari ni hasi na sawa na sifuri, basi achwe zitupwe vikwepo vinavyofanana. vinginevyo acha nambari izidishwe kwa 3.

Задание 2

Angalia utendaji wa kazi uliyounda kwa msaada wa muundo try-except. Wakati huo pia kamata vikwepo vyako.