Wyzwanie to jest inspirowane serią książek dla małych dzieci autorstwa Fiony Watt i Rachel Wells, które ostatnio bawię się z córką.
W każdej książce mysz (zilustrowana, ale nie część tekstu) narzeka, że seria 5 rzeczy tego samego typu nie jest jego rzeczą. Następnie tworzy kopię zapasową, deklarując, że jakiś element rzeczy nie ma oczekiwanej właściwości.
Po szóstym pytaniu mysz znajduje swoją rzecz i jest zadowolona, ponieważ ma oczekiwaną właściwość.
Oto tekst typowego przykładu:
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.
Teraz większość programistów zdaje sobie sprawę, że jest to bardzo algorytmiczna metoda tworzenia tekstu. Ponieważ jest to tak przejrzysty proces, powinniśmy być w stanie to odtworzyć, pisząc trochę kodu.
Zacznijmy od trzech kolekcji słów:
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"]
- Najpierw decydujemy, jakie rzeczy będziemy opisywać.
- Następnie 5 razy wygenerujemy wiersz „To nie jest moja [rzecz], jej [część] też jest [właściwość].
- Na koniec generujemy wiersz „To moja [rzecz]! Jego [część] jest tak [własność]!
Wyzwanie
- Wygeneruj tekst opowiadania „To nie jest moja ...”.
- Nie może konsekwentnie odtwarzać tego samego tekstu.
- To jest golf golfowy, więc spróbuj zrobić to w jak najmniejszej liczbie bajtów.
- Użyj dowolnego języka.
- Białe spacje nie mają znaczenia, ale między wierszami musi znajdować się znak nowej linii.
- Listy słów źródłowych nie są częścią twojej odpowiedzi (w TIO można je dodać do nagłówka).
- Możesz zmienić nazwy list słów źródłowych.
- Dane wyjściowe można wyprowadzić do terminala lub wygenerować tekst w obiekcie.
- Podaj link do tłumacza online.
- Ignoruj liczbę mnogą, „jego rogi są” jest w porządku.
- To nie musi mieć sensu. Jeśli lejek twojej księżniczki jest zbyt puszysty, po prostu to powiedz.
Przykładowe dane wyjściowe:
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.
Miłej gry w golfa!