Trabajas para una agencia gubernamental que ha interceptado una serie de señales de comunicación cifradas de un grupo de ladrones de bancos. Las señales contienen una larga secuencia de dígitos. Tu equipo necesita usar diversas técnicas de procesamiento digital de señales para analizar las señales e identificar cualquier patrón que pueda indicar la planificación de un atraco.
Tu tarea es buscar patrones en la larga secuencia de dígitos de la señal cifrada.
La técnica que vas a usar aquí se llama el producto de serie más grande.
Primero, definamos algunos términos.
Veamos un ejemplo con el argumento "63915".
3, habrá tres series posibles:
"639""391""915""639" es 162 (6 × 3 × 9 = 162)"391" es 27 (3 × 9 × 1 = 27)"915" es 45 (9 × 1 × 5 = 45)"63915" proviene de la serie "639".
Entonces la respuesta es 162.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. Para situaciones en las que sabes que el origen del error será de un tipo determinado, puedes elegir lanzar uno de los tipos de error integrados, pero igual debes incluir un mensaje significativo.
Este ejercicio en particular requiere que uses la sentencia raise para «lanzar» un ValueError cuando tu función largest_product() reciba una entrada no válida. Las pruebas solo pasarán si lanzas la exception con raise e incluyes un mensaje con ella. ¡Puedes reutilizar sin problema el código que escribiste en el ejercicio series!
Para lanzar un ValueError con un mensaje, escribe el mensaje como argumento del tipo de exception:
# span of numbers is longer than number series
raise ValueError("span must not exceed string length")
# span of number is negative
raise ValueError("span must not be negative")
# series includes non-number input
raise ValueError("digits input must only contain digits")
Regístrate en Exercism para aprender y dominar Python con 17 conceptos146 ejercicios y mentoría humana real, todo gratis.