Блок else дар бастани истисноҳо дар Python

Ба сохтори try-except инчунин метавон блоки else илова кард. Нюанси муҳим ин аст, ки коде, ки дар блоги else ҷойгир карда шудааст, агар то он дар try-except ягон истиснои нагирифта бошад, фаъол хоҳад шуд.

Бигзор мо рӯйхате дошта бошем:

pythonlst = [1, 2, 3]

Дар сохтори try-except бастани истисноро барои унсури мавҷуднабудаи рӯйхат нависем:

pythontry:
  print(lst[4])
except IndexError:
  print('хато: унсур вуҷуд надорад')

Акнун биёед дар блоги else барориши ҳаҷми умумии унсурҳои рӯйхатро муайян кунем:

pythontry:
  print(lst[4])
except IndexError:
  print('хато: унсур вуҷуд надорад')
else:
  print(sum(lst))

Агар код дар блоги try ба унсури мавҷуднабуда дастрасӣ пайдо кунад, пас дар консол паёми хатопе пайдо мешавад:

error'хато: унсур вуҷуд надорад'

Акнун дар блоги try барориши унсуреро муайян кунем, ки албатта дар рӯйхат вуҷуд дорад:

pythontry:
  print(lst[0])
except IndexError:
  print('хато: унсур вуҷуд надорад')
else:
  print(sum(lst))

Пас аз иҷрои код дар консол ду адад пайдо мешавад: унсур, ки дар try муайян шуда буд, ва ҳаҷми умумии унсурҳои рӯйхат:

python1
6
Задание 1

Рӯйхат дода шудааст:

pythonlst = [1, 2, 3]

Код нависед, то истиснои баробар кардани бар сифриро бигиред. Дар сурате, ки ин истисно пайдо нашавад, бигзор дарозии рӯйхат барорида шавад.