Tu travailles pour une agence gouvernementale qui a intercepté une série de signaux de communication chiffrés émis par un groupe de braqueurs de banque. Ces signaux contiennent une longue séquence de chiffres. Ton équipe doit utiliser différentes techniques de traitement numérique du signal pour analyser ces signaux et repérer d'éventuels motifs qui pourraient indiquer la préparation d'un braquage.
Ta tâche consiste à rechercher des motifs dans la longue séquence de chiffres du signal chiffré.
La technique que tu vas utiliser ici s’appelle le plus grand produit de série.
Commençons par définir quelques termes.
Prenons un exemple avec l’entrée "63915".
3, il y aura trois séries possibles :
"639""391""915""639" est 162 (6 × 3 × 9 = 162)"391" est 27 (3 × 9 × 1 = 27)"915" est 45 (9 × 1 × 5 = 45)"63915" provient de la série "639".
La réponse est donc 162.Il est parfois nécessaire de lever une exception. Quand tu le fais, tu dois toujours inclure un message d'erreur explicite pour indiquer l'origine de l'erreur. Cela rend le code plus lisible et facilite grandement le débogage. Dans les cas où tu sais que l'erreur sera d'un type donné, tu peux choisir de lever l'un des types d'erreur intégrés, mais tu dois quand même inclure un message explicite.
Cet exercice demande en particulier que tu utilises l'instruction raise pour « lever » une ValueError lorsque ta fonction largest_product() reçoit une entrée invalide. Les tests ne passeront que si tu lèves l'exception avec raise et que tu y joins un message. N'hésite pas à réutiliser le code de l'exercice series !
Pour lever une ValueError avec un message, écris ce message comme argument du type d'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")
Inscris-toi sur Exercism pour apprendre et maîtriser Python avec 17 concepts146 exercices, et un vrai mentorat humain, le tout gratuitement.