Serie

Serie

Facile

Istruzioni

Data una stringa di cifre, produci in output tutte le sottostringhe contigue di lunghezza n in quella stringa, nell'ordine in cui compaiono.

Per esempio, la stringa «49142» ha le seguenti serie di 3 cifre:

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

E le seguenti serie di 4 cifre:

  • «4914»
  • «9142»

E se chiedi una serie di 6 cifre da una stringa di 5 cifre, ti meriti quello che ti capita.

Tieni presente che queste serie devono solo occupare posizioni adiacenti nell'input; le cifre non devono essere numericamente consecutive.

Messaggi delle eccezioni

A volte è necessario sollevare un'eccezione. Quando lo fai, dovresti sempre includere un messaggio di errore significativo per indicare qual è l'origine dell'errore. Questo rende il codice più leggibile ed aiuta molto nel debug. Quando sai che l'origine dell'errore sarà di un certo tipo, puoi scegliere di sollevare uno dei tipi di errore predefiniti, ma dovresti comunque includere un messaggio significativo.

Questo esercizio in particolare richiede di usare l'istruzione raise per «lanciare» un ValueError se i parametri series e/o length passati alla funzione slice() sono vuoti o fuori intervallo. I test passeranno solo se usi raise per l'exception ed includi anche un messaggio.

Per sollevare un ValueError con un messaggio, scrivi il messaggio come argomento 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")
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Python Exercism

Vuoi iniziare Serie?

Iscriviti a Exercism per imparare e padroneggiare Python con 17 concetti146 esercizi e il mentoring di persone reali, tutto gratis.