Dato un numero n, determina qual è l'n-esimo numero primo.
Elencando i primi sei numeri primi, cioè 2, 3, 5, 7, 11 e 13, possiamo vedere che il sesto numero primo è 13.
Se il tuo linguaggio fornisce dei metodi nella libreria standard per gestire i numeri primi, fai finta che non esistano e implementali da solo.
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 e aiuta notevolmente nel debug. Per le situazioni in cui 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 che tu usi l'istruzione raise per «lanciare» un ValueError quando la funzione prime() riceve un input malformato. Dato che questo esercizio tratta solo numeri positivi, qualsiasi numero < 1 è malformato. I test passeranno solo se usi raise per l'exception e includi un messaggio con essa.
Per sollevare un ValueError con un messaggio, scrivi il messaggio come argomento al tipo exception:
# when the prime function receives malformed input
raise ValueError('there is no zeroth prime')
Iscriviti a Exercism per imparare e padroneggiare Python con 17 concetti146 esercizi e il mentoring di persone reali, tutto gratis.