Series

Series

Fácil

Instrucciones

Dado un string de dígitos, devuelve todas las subcadenas contiguas de longitud n de ese string en el orden en que aparecen.

Por ejemplo, el string «49142» tiene las siguientes series de 3 dígitos:

  • «491»
  • «914»
  • «142»

Y las siguientes series de 4 dígitos:

  • «4914»
  • «9142»

Y si pides una serie de 6 dígitos a partir de un string de 5 dígitos, te mereces lo que te salga.

Ten en cuenta que estas series solo tienen que ocupar posiciones adyacentes en la entrada; los dígitos no tienen por qué ser numéricamente consecutivos.

Mensajes de excepción

A veces es necesario lanzar una excepción. Cuando lo hagas, siempre debes incluir un mensaje de error significativo que indique cuál es el origen del error. Esto hace que tu código sea más legible y ayuda mucho con la depuración. En situaciones en las que sabes que el origen del error será de un tipo concreto, puedes optar por lanzar uno de los tipos de error integrados, pero aun así debes incluir un mensaje significativo.

Este ejercicio en concreto requiere que uses la instrucción raise para «lanzar» un ValueError si los parámetros series y/o length introducidos en la función slice() están vacíos o fuera de rango. Las pruebas solo pasarán si tanto lanzas la exception mediante raise como incluyes un mensaje con ella.

Para lanzar un ValueError con un mensaje, escribe el mensaje como argumento del tipo exception:

# if the slice length is zero.
raise ValueError("slice length cannot be zero")

# if the slice length is negative.
raise ValueError("slice length cannot be negative")

# if the series provided is empty.
raise ValueError("series cannot be empty")

# if the slice length is longer than the series.
raise ValueError("slice length cannot be greater than series length")
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Python Exercism

¿Listo para empezar Series?

Regístrate en Exercism para aprender y dominar Python con 17 conceptos146 ejercicios y mentoría humana real, todo gratis.