Эта задача вдохновлена серией книг для маленьких детей Фионы Уотт и Рэйчел Уэллс, которыми я недавно наслаждаюсь со своей дочерью.
В каждой книге мышь (иллюстрированная, но не часть текста) жалуется, что последовательность из 5 вещей одного типа не является ее вещью. Затем он подтверждает это, заявляя, что какой-то компонент вещи не обладает ожидаемым свойством.
В шестой раз спрашивая, мышь находит свою вещь и радуется, потому что у нее есть ожидаемое свойство.
Вот текст типичного примера:
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.
Теперь большинство программистов поймут, что это очень алгоритмический метод создания текста. Поскольку это такой четкий процесс, мы должны быть в состоянии воспроизвести это, написав некоторый код.
Начнем с трех сборников слов:
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"]
- Сначала мы решаем, что именно мы будем описывать.
- Затем 5 раз мы сгенерируем строку "Это не моя [вещь], ее [часть] слишком [свойство].
- Наконец, мы генерируем строку «Это моя [вещь]! Ее [часть] так [свойство]!
Соревнование
- Создайте текст истории "Это не мое ...".
- Он не должен последовательно воспроизводить один и тот же текст.
- Это код гольф, поэтому попытайтесь сделать это наименьшим количеством байтов.
- Используйте любой язык, какой пожелаете.
- Пробел не имеет значения, но между строк должен быть символ перевода строки.
- Списки исходных слов не являются частью вашего ответа (в TIO их можно добавить в заголовок).
- Вы можете переименовать списки исходных слов.
- Вывод может быть выведен на терминал или текст, сгенерированный в объект.
- Пожалуйста, включите ссылку на онлайн-переводчика.
- Проигнорируйте множественное число, "его рога" в порядке.
- Это не должно иметь смысла. Если воронка вашей принцессы слишком пушистая, просто скажите так.
Образец вывода:
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.
Удачного игры в гольф!