Dada uma string de dígitos, produza todas as substrings contíguas de comprimento n dessa string, na ordem em que aparecem.
Por exemplo, a string "49142" tem as seguintes séries de 3 dígitos:
E as seguintes séries de 4 dígitos:
E se você pedir uma série de 6 dígitos a partir de uma string de 5 dígitos, você merece o que receber.
Repare que essas séries só precisam ocupar posições adjacentes na entrada; os dígitos não precisam ser numericamente consecutivos.
Às vezes é necessário lançar uma exceção. Quando você fizer isso, inclua sempre uma mensagem de erro significativa para indicar qual é a origem do erro. Isso deixa seu código mais legível e ajuda muito na depuração. Em situações em que você sabe que a origem do erro será de um determinado tipo, você pode escolher lançar um dos tipos de erro embutidos, mas ainda assim deve incluir uma mensagem significativa.
Este exercício em particular exige que você use a instrução raise para "lançar" um ValueError se os parâmetros series e/ou length passados para a função slice() estiverem vazios ou fora do intervalo. Os testes só serão aprovados se você usar raise na exception e incluir uma mensagem junto com ela.
Para lançar um ValueError com uma mensagem, escreva a mensagem como um argumento do 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")
Crie sua conta no Exercism para aprender e dominar Python com 17 conceitos146 exercícios e mentoria humana de verdade, tudo de graça.