Tengo una tarea simple que debería ser relativamente fácil de implementar mediante código. Su objetivo es escribir un programa que genere el tiempo escrito en español, dado el tiempo en formato HH: MM. Es probable que muchas personas no sepan cómo hacer esto, así que lo explicaré.
El tiempo en español es bastante lógico. Suele seguir el patrón de "Es la / Son las (hora) y (minutos)". Las horas están en formato de 12 horas, y "Es la" solo se usa si la hora es 1 (es decir, la una en punto). Los minutos son una historia diferente. Si el minuto es menor que 30, entonces se representa como se muestra arriba. Sin embargo, si el minuto supera los 30, la hora se redondea y el minuto se resta. Por ejemplo, 7:35 se traduce al equivalente de "8 horas menos 25 minutos". Algunos ejemplos más se darán a continuación. La lista de números en español que son necesarios se puede encontrar aquí . Hay acentos en algunos números, pero no son necesarios.
Nota: La fuente dice "uno", pero para ser gramaticalmente correcto debería ser "una". Esto no debería afectar ninguna respuesta hasta ahora.
Nota 2: Además, "cero" no es necesario. Si su programa emite "Es la una" o "Son las tres", está bien para mí. Perdón por estos cambios en las reglas.
Reglas
- La información se proporcionará a través de STDIN o su equivalente en su idioma.
- No leer desde bibliotecas externas.
- Su código puede hacer cualquier cosa con una entrada no válida.
Bonos
- -10 si su código agrega estas frases adicionales: "y cuarto" para: 15, "y media" para: 30 y "menos cuarto" para: 45 (redondeado).
- -15 si su código puede manejar AM y PM, respondiendo con "de la mañana" y "de la tarde", en consecuencia.
- -15 si su código puede traducir la hora actual si no se proporciona ninguna entrada.
Tanteo
- Este es un desafío de código de golf y se puntuará por bytes, no por caracteres.
Ejemplos
Entrada: 8:10
Salida:Son las ocho y diez.
Entrada: 6:45
Salida:Son las siete menos quince (or cuarto).
Entrada: 1:29
Salida:Es la una y veintinueve.
Entrada: 12:55
Salida:Es la una menos cinco.
Avíseme si hay algo que especificar aquí. Esta es mi primera pregunta, por lo que definitivamente no es perfecta.
Es la una y cero
es bastante repetitivo, así que entiendo tu punto. No especifiqué esto, así que supongo que cualquiera de los dos estaría bien. Gracias por la respuesta.
01:21
como un caso de prueba, porque al menos un respondedor estaba confundido por lo que dijo sobre una vs uno .