Diz

Diz

Fácil

Introdução

O teu amigo Yaʻqūb trabalha ao balcão da delicatessen mais movimentada da cidade, a cortar, a pesar e a embrulhar encomendas para uma fila infindável de clientes com fome. Para as coisas não pararem, cada cliente tira uma senha numerada quando chega.

Quando é altura de chamar a pessoa seguinte, o Yaʻqūb lê o número em voz alta, sempre por palavras completas em inglês, para garantir que toda a gente o ouve com clareza.

Instruções

Dado um número, a tua tarefa é escrevê-lo por palavras em inglês, exatamente como o teu amigo o diria em voz alta. Yaʻqūb espera usar números de 0 até 999 999 999 999.

Exemplos:

  • 0 → zero
  • 1 → one
  • 12 → twelve
  • 123 → one hundred twenty-three
  • 1 234 → one thousand two hundred thirty-four

Mensagens de exceção

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 bastante na depuração. Nos casos 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 se o valor de entrada de say() estiver fora do intervalo. 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:

# if the number is negative
raise ValueError("input out of range")

# if the number is larger than 999,999,999,999
raise ValueError("input out of range")
Editar via GitHub A ligação abre numa nova janela ou separador
Python Exercism

Estás pronto para começar Diz?

Inscreve-te no Exercism para aprenderes e dominares Python com 17 conceitos146 exercícios, e mentoria humana real, tudo grátis.