Blokk else erandite püüdmisel Pythonis

Konstruktsiooni try-except saab ka lisada bloki else. Oluline nüanss on selles, et kood, mis asub blokis else, käivitatakse juhul, kui enne seda try-except'is ei püütud ühtki erandit.

Olgu meil järgmine loend:

pythonlst = [1, 2, 3]

Konstruktsioonis try-except kirjutame olematu loendi elemendi jaoks erandi püüdmise:

pythontry:
  print(lst[4])
except IndexError:
  print('error: elem is not exist')

Nüüd määrame blokis else kõigi loendi elementide summa väljatrüki:

pythontry:
  print(lst[4])
except IndexError:
  print('error: elem is not exist')
else:
  print(sum(lst))

Kui kood blokis try pöördub olematu elemendi poole, siis konsoolis ilmub veateade:

error'error: elem is not exist'

Nüüd määrame blokis try elemendi väljatrüki, mis kindlasti on loendis:

pythontry:
  print(lst[0])
except IndexError:
  print('error: elem is not exist')
else:
  print(sum(lst))

Pärast koodi käivitamist kuvatakse konsoolis kaks numbrit: element, mis määrati try's ja kõigi loendi elementide summa:

python1
6
Задание 1

Antud on loend:

pythonlst = [1, 2, 3]

Kirjutage kood, et püüda nulliga jagamise erand. Juhul, kui seda erandit ei teki, kuvatakse loendi pikkus.