Dado um número n, determina qual é o n-ésimo número primo.
Ao listar os seis primeiros números primos, 2, 3, 5, 7, 11 e 13, vemos que o 6.º número primo é 13.
Se a tua linguagem de programação fornecer métodos na biblioteca padrão para lidar com números primos, finge que não existem e implementa-os tu mesmo.
Por vezes, é necessário lançar uma exceção. Quando o fazes, deves incluir sempre uma mensagem de erro significativa que indique qual é a origem do erro. Isto torna o teu código mais legível e ajuda imenso na depuração. Em situações em que sabes que a origem do erro será de um determinado tipo, podes optar por lançar um dos tipos de erro incorporados, mas deves continuar a incluir uma mensagem significativa.
Este exercício em particular exige que uses a instrução raise para "lançar" um ValueError quando a função prime() recebe uma entrada malformada. Como este exercício só lida com números positivos, qualquer número < 1 está malformado. Os testes só passam se fizeres raise da exception e incluíres uma mensagem com ela.
Para lançar um ValueError com uma mensagem, escreve a mensagem como argumento do tipo exception:
# when the prime function receives malformed input
raise ValueError('there is no zeroth prime')
Inscreve-te no Exercism para aprenderes e dominares Python com 17 conceitos146 exercícios, e mentoria humana real, tudo grátis.