Este desafío está inspirado en una serie de libros para niños pequeños de Fiona Watt y Rachel Wells, que recientemente he estado disfrutando con mi hija.
En cada libro, un mouse (ilustrado, pero no parte del texto) se queja de que una sucesión de 5 cosas del mismo tipo no son lo suyo. Luego respalda esto al declarar que algún componente de la cosa no tiene la propiedad que espera.
En la sexta vez que pregunta, el ratón encuentra lo suyo y está contento porque tiene la propiedad esperada.
Aquí está el texto de un ejemplo típico:
That's not my bunny, its tail is too fluffy.
That's not my bunny, its paws are too rough.
That's not my bunny, its tail is too woolly.
That's not my bunny, its eyes are too shiny.
That's not my bunny, its nose is too wrinkled.
That's my bunny! Its ears are so soft.
Ahora, la mayoría de la gente de programación se daría cuenta de que este es un método muy algorítmico para producir texto. Debido a que es un proceso tan claro, deberíamos poder reproducir esto escribiendo algún código.
Comencemos con tres colecciones de palabras:
things = ["dinosaur", "lamb", "princess", "reindeer", "train"]
parts = ["back", "bells", "body", "bows", "crown", "dress", "ears",
"engine", "fan", "flippers", "funnel", "hooves", "horns", "neck",
"nose", "roof", "sash", "side", "spines", "spots", "tail", "teeth",
"tiara", "wheels", "windows"]
properties = ["bumpy", "fluffy", "furry", "fuzzy", "glittery", "glossy",
"hairy", "red", "rough", "rusty", "shiny", "silky", "slippery",
"soft", "sparkly", "squashy", "thick", "velvety", "woolly"]
- Primero, decidimos qué tipo de cosas describiremos.
- Luego, 5 veces, generaremos la línea "Esa no es mi [cosa], su [parte] es también [propiedad].
- Finalmente, generamos la línea "¡Esa es mi [cosa]! Su [parte] es tan [propiedad]!
El reto
- Genere el texto de una historia de "Ese no es mi ...".
- No debe reproducir constantemente el mismo texto.
- Es un código de golf, así que intente hacerlo en el menor número de bytes.
- Use cualquier idioma que desee.
- El espacio en blanco no importa, pero debe haber un carácter de nueva línea entre líneas.
- Las listas de palabras de origen no son parte de su respuesta (en TIO se pueden agregar al encabezado).
- Puede cambiar el nombre de las listas de palabras de origen.
- La salida puede enviarse a un terminal o texto generado en un objeto.
- Incluya un enlace a un intérprete en línea.
- Ignora los plurales, "sus cuernos es" está bien.
- No tiene que tener sentido. Si el embudo de tu princesa es demasiado esponjoso, solo dilo.
Salida de muestra:
That's not my train, its engine is too rusty.
That's not my train, its hooves is too thick.
That's not my train, its sash is too fuzzy.
That's not my train, its tail is too velvety.
That's not my train, its horns is too glittery.
That's my train! Its hooves is so hairy.
¡Feliz golf!