Bloque else en la captura de excepciones en Python

A la construcción try-except también se le puede añadir un bloque else. Un matiz importante es que el código ubicado en el bloque else se ejecutará si antes, en try-except, no se capturó ninguna excepción.

Supongamos que tenemos una lista:

pythonlst = [1, 2, 3]

En la construcción try-except escribamos la captura de una excepción para un elemento inexistente de la lista:

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

Ahora especifiquemos en el bloque else la impresión de la suma de todos los elementos de la lista:

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

Si el código en el bloque try accede a un elemento que no existe, entonces en la consola aparecerá un mensaje de error:

error'error: elem is not exist'

Ahora establezcamos en el bloque try la impresión de un elemento que definitivamente está en la lista:

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

Después de ejecutar el código, en la consola aparecerán dos números: el elemento especificado en try y la suma de todos los elementos de la lista:

python1
6
Задание 1

Se da una lista:

pythonlst = [1, 2, 3]

Escriba código para capturar una excepción relacionada con la división por cero. En caso de que dicha excepción no aparezca, que se imprima la longitud de la lista.