Decir

Decir

Fácil

Introducción

Tu amigo Yaʻqūb atiende el mostrador del deli más concurrido de la ciudad, cortando, pesando y envolviendo pedidos para una fila interminable de clientes hambrientos. Para que todo avance, cada cliente toma una ficha numerada cuando llega.

Cuando es hora de llamar al siguiente, Yaʻqūb lee su número en voz alta, siempre con las palabras completas en inglés para asegurarse de que todos lo escuchen con claridad.

Instrucciones

Dado un número, tu tarea es expresarlo en palabras en inglés, exactamente como tu amigo debería decirlo en voz alta. Yaʻqūb espera usar números desde 0 hasta 999,999,999,999.

Ejemplos:

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

Mensajes de excepción

A veces es necesario lanzar una excepción. Cuando lo hagas, siempre debes incluir un mensaje de error significativo que indique cuál es el origen del error. Esto hace que tu código sea más legible y ayuda mucho con la depuración. Cuando sabes que el origen del error va a ser de un tipo determinado, puedes optar por lanzar uno de los tipos de error integrados, pero aun así debes incluir un mensaje significativo.

Este ejercicio en particular requiere que uses la sentencia raise para «lanzar» un ValueError si el número que se pasa como argumento a say() está fuera de rango. Las pruebas solo pasarán si haces raise de la exception y además incluyes un mensaje con ella.

Para lanzar un ValueError con un mensaje, escribe el mensaje como argumento del tipo de 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 en GitHub El enlace se abre en una ventana o una pestaña nuevas
Python Exercism

¿Todo listo para empezar Decir?

Regístrate en Exercism para aprender y dominar Python con 17 conceptos146 ejercicios y mentoría humana real, todo gratis.