Inspired by both Perfect License Plates and How many points does my license plate give?
Just like in the challenges above, me and my little brother had a game of our own with license plates as kids. We tried to create (random/funny) sentences with the (numbers and) letters of the license plates.
For example, I can still remember the license plate of our old car from over ten years ago, because of the silly sentence we had created with it:
71-NN-BT 71 Nare Nonnen Bijten Tijgers [Dutch for: 71 Nasty Nuns Biting Tigers]
- A license plate, which for the sake of this challenge will always start with two digits
[0-9], followed by four uppercase letters
- Three fixed lists (see below): consisting of Dutch plural nouns; Dutch adjectives; and Dutch verbs.
Using the list of Dutch plural nouns, adjectives and verbs below as input, create a random Dutch sentence with the given license plate using the following rules:
- Start with the numbers, followed by a space;
- And the four letters should either be used in the pattern
adjective noun verb nounor
noun verb adjective noun(50/50 random).
This would mean that the sentence mentioned earlier ("Nare Nonnen Bijten Tijgers" / "Nasty Nuns Biting Tigers") is in the pattern
adjective noun verb noun, and this alternative sentence "Nonnen Negeren Blote Theekopjes" / "Nuns Ignoring Naked Teacups" is in the pattern
noun verb adjective noun).
Lists of words
Formatted pastebin thanks to @Arnauld.
Aanbeelden [Anvils] Aardbeien [Strawberries] Apen [Monkeys] Appels [Apples] Auto's [Cars] Bananen [Bananas] Bessen [Berries] Bloemen [Flowers] Bomen [Trees] Bijen [Bees] Cadeaus [Presents] Cavia's [Guinea pigs] Cheerleaders [Cheerleaders] Circusdieren [Circus animals] Citroenen [Limons] Dinosaurussen [Dinosaurs] Dieren [Animals] Documenten [Documents] Doctoren [Doctors] Dolfijnen [Dolphins] E-mails [Emails] Edelstenen [Gemstones] Eekhoorns [Squirles] Enqûetes [Enquetes] Ezels [Donkeys] Fabrieken [Factories] Fietsen [Bicycles] Flessen [Bottles] Fontijnen [Fountains] Foto's [Photographs] Giraffen [Girafs] Glazen [Glasses] Gummen [Erasers] Guppy's [Guppies] Gymschoenen [Gym shoes] Haaien [Sharks] Homo's [Gay men] Honden [Dogs] Hoofden [Heads] Horloges [Watches] Idioten [Idiots] Idolen [Idols] IJsklontjes [Ice cubes] Illusies [Illusions] Imperia [Empires] Jassen [Jackets] Jokers [Jokers] Jongleurs [Jugglers] Jurken [Dresses] Juwelen [Jewels] Kabels [Cables] Katten [Cats] Kauwgomballen [Gum-balls] Knoppen [Buttons] Konijnen [Rabbits] Leesboeken [Reading books] Leeuwen [Lions] Legercommandanten [Commander-in-chieves] Lesbies [Lesbians] Lummels [Oafs] Maagden [Virgins] Mannen [Men] Mensen [People] Mieren [Ants] Muren [Walls] Neuzen [Noses] Nieuwkomers [Novices] Nonnen [Nuns] Noten [Nuts] Nummerborden [License plates] Oceanen [Oceans] Ogen [Eyes] Olifanten [Elephants] Oren [Ears] Orkanen [Huricanes] PC's [PCs] Pizza's [Pizzas] Politieagenten [Police officers] Postbezorgers [Mail men] Potloden [Pencils] Quads [ATVs] Quaggamosselen [Quagga mussels] Querulanten [Querulants] Quiëtisten [Quietists] Quizzen [Quizzes] Radio's [Radios] Ramen [Windows] Regiseuren [Film directors] Rekenmachines [Calculators] Relschoppers [Hooligans] Schepen [Ships] Slakken [Snails] Slangen [Snakes] Stegosaurussen [Stegosauruses] Stoelen [Chairs] T-rexen [T-rexes] Tafels [Tables] Theekopjes [Teacups] Tijgers [Tigers] Tovenaars [Wizards] Uien [Unions] Uilen [Owls] Universa [Universes] Universiteiten [Universities] USB-sticks [USB-sticks] Vliegtuigen [Planes] Vrachtwagens [Trucks] Vrienden [Friends] Vrouwen [Women] Vulkanen [Vulcanos] Walvissen [Whales] Wespen [Wasps] Wormen [Worms] Worstelaars [Wrestlers] Wortels [Carrots] X-assen [X-axes] X-chromosomen [X-chromosomes] Xenonlampen [Xenon lamps] Xylofonen [Xylophones] Xylofonisten [Xylophonists] Y-assen [Y-axes] Y-chromosomen [Y-chromosomes] Yoghurtdranken [Yugurt drinks] Yogaleraren [Yoga teachers] Yogaleraressen [Female yoga teachers] Zeeën [Seas] Zeehonden [Seals] Zeepbellen [Soap bubbles] Zwanen [Swans] ZZP'ers [Freelancers]
X has some duplicated verbs, because there aren't enough verbs starting with an X in Dutch..
Accepteren [Accepting] Activeren [Activating] Amputeren [Amputating] Amuseren [Amuzing] Assisteren [Assisting] Bakken [Baking] Bedreigen [Threatening] Bellen [Calling] Bevruchten [Fertilizing/Impregnating] Bijten [Biting] Castreren [Castrating] Categoriseren [Categorizing] Centrifugeren [Centrifuging] Claimen [Claiming] Coachen [Coaching] Dagvaardigen [Prosecuting] Daten [Dating] Degraderen [Downgrading] Dienen [Serving] Dwarsbomen [Thwarting] Electroniseren [Eletronizing] Eren [Show respect for] Erven [Inherit] Eten [Eating] Exploderen [Blow up] Factureren [Invoicing] Fokken [Breeding] Föhnen [Blow-drying] Fotographeren [Photographing] Frituren [Frying] Gooien [Throwing] Graderen [Grading] Grijpen [Grabbing] Groeperen [Making groups of] Groeten [Greeting] Hacken [Hacking] Hallucineren [Hallucinating] Haten [Hating] Helpen [Helping] Huren [Renting] Importeren [Importing] Inspireren [Inspiring] Ironiseren [Ridiculing] Irriteren [Irritating/Annoying] Isoleren [Isolating] Jagen op [Hunting on] Jatten [Stealing] Jennen [Teasing] Jongleren met [Juggling with] Justeren [Adjusting] Klonen [Cloning] Koken [Cooking] Kopen [Buying] Kraken [Cracking] Kussen [Kissing] Labelen [Labeling] Leasen [Leasing] Lonken [Ogling] Loven [Praising] Lusten [Having a taste for] Maken [Creating] Martelen [Torturing] Merken [Labeling] Meten [Measuring] Mollen [Breaking] Negeren [Ignoring] Neuken [Having sex with] Neutraliseren [Neutralizing] Normaliseren [Normalizing] Notificeren [Notifying] Observeren [Observing] Oliën [Oiling] Ontbloten [Denuding] Ontsmetten [Disinfecting] Ordenen [Sorting] Penetreren [Penetrating] Pesten [Bullying] Plagen [Teasing] Porren [Poking] Produceren [Producing] Quadrilleren met [Quadrille-dancing with] Quadrupleren [Quadrupling] Queruleren over [Grumbling about] Quoteren [Giving a rating to] Quotiseren [Distributing] Raadplegen [Consulting] Redden [Saving] Reinigen [Cleaning] Ruilen [Trading] Roken [Smoking] Schieten [Shooting] Schoppen [Kicking] Schudden [Shaking/Shuffling] Slaan [Hitting] Stoppen [Stopping] Tackelen [Assaulting] Telen [Cultivating] Tellen [Counting] Temperen [Tempering] Torpederen [Torpedo-ing] Unificeren [Uniformising] Unlocken [Unlocking] Upgraden [Updrading] Urineren [Urinating] Utiliseren [Making use of] Verbinden [Binding] Verjagen [Scaring away] Verkopen [Selling] Vermoorden [Killing] Verwijderen [Deleting] Wassen [Washing] Wekken [Awakening] Wijzigen [Modifying] Wreken [Avenging] Wurgen [Strangling] Xeroxen [Photocopying] Xoipen [Sending over the internet] Xeroxen [Photocopying] Xoipen [Sending over the internet] X-en [X-ing] Yammeren [Yammering] Yellen [Cheerleading] Yielding [Calculating percentages of] YouTube-streamen [YouTube-streaming] Youtuben [YouTubing] Zegenen [Blessing] Zieken [Nagging] Zien [Seeing] Zoeken [Searching] Zoenen [Making out with]
Abstracte [Abstract] Achterlijke [Morron] Afrikaanse [African] Amerikaanse [American] Angstaanjagende [Scary] Baby [Baby] Blauwe [Blue] Blote [Naked] Boze [Angry] Broze [Fragile] Charmante [Charming] Chinese [Chinese] Chocolade [Chocolade] Coole [Cool] Corrupte [Corrupt] Dagdromende [Daydreaming] Dansende [Dancing] Dikke [Fat] Dode [Dead] Dunne [Skinny] Echte [Real] Effectieve [Effective] Elektrische [Electronic] Enorme [Enormous] Europese [European] Felle [Bright] Fictieve [Fictive] Fietsende [Cycling] Fluisterende [Whispering] Fluitende [Whistling] Gele [Yellow] Glow-in-the-dark [Glow-in-the-dark] Grijze [Grey] Groene [Green] Grote [Big] Harige [Hairy] Harde [Hard] Homosexuele [Gay] Horde [Troop of] Hyperactieve [Hyperactive] Idiote [Idiotic] IJzere [Iron] IJzige [Frosty] Instelbare [Adjustable] Ivoren [Ivory] Jaloerse [Jealous] Jammerende [Whining] Japanse [Japanese] Jokkende [Fibbing] Jonge [Young] Kale [Bald] Kapotte [Broken] Kleine [Little] Knappe [Handsome] Koude [Cold] Lelijke [Ugly] Lege [Empty] Levende [Living] Lopende [Walking] Luie [Lazy] Maffe [Weird] Massieve [Massive] Middeleeuwse [Medieval] Milde [Mellow] Mythische [Mythical] Naakte [Naked] Nachtelijke [Nocturnal] Nare [Nasty] Nucleaire [Nuclear] Normale [Normal] Ongelovige [Infidel] Oranje [Orange] Oude [Old] Overheerdende [Prevailing] Oxiderende [Oxidizing] Paarse [Purple] Platte [Flat] Pratende [Talking] Piraten [Pirate] Puzzelende [Puzzling] Quiteense [Female resident of the city of Quito] Quad-rijdende [ATV-driving] Quasi [Quasi] Queue-stotende [(Billiard) cue thumping] Quiche-etende [Quiche-eating] Rennende [Running] Rode [Red] Romantische [Romantic] Ronde [Round] Roze [Pink] Saaie [Boring] Schattige [Cute] Scherpe [Sharp] Springende [Jumping] Stoffige [Dusty] Tongzoenende [French kissing] Transformerende [Transforming] Transparente [Transparent] Treiterende [Tormenting] Triomferende [Victorious] Ultieme [Supreme] Unieke [Unique] Uniseks [Unisex] Uiteenlopende [Various] Uitmuntende [Outstanding] Vage [Vague] Verdrietige [Sad] Vierkante [Square] Vliegende [Flying] Vrolijke [Jolly] Warme [Warm] Waterige [Aquatic] Wijze [Wise] Witte [White] Wraakzuchtige [Vindicitive] Xenofobische [Xenophobic] Xhosa-sprekende [Xhosa-speaking] XTC-verslaafde [XTC-addicted] XXX [XXX] Xylofoonspelende [Xylophone-playing] Yahoo-zoekende [Yahoe-searching] Yammerende [Yammering] Yellende [Cheerleading] YouTube-streamende [YouTube-streaming] Youtubende [YouTubing] Zachte [Soft] Zingende [Singing] Zwarte [Black] Zwemmende [Swimming] Zwevende [Floating]
- You aren't allowed to use the same random noun twice in one sentence.
- You have to take the license plate input either as string or array/list of characters. You can choose to input without delimiter however, so all these are valid input-formats:
NN CC CC;
N N C C C C; etc.
- The list of words can be in any reasonable format. Can be three separate lists; maps with the first letters as keys; one or multiple separate text files to read from; all possible. (You are allowed to take the input with or without the English translations added, as long as you output the Dutch sentence.)
- Output can be printing to STDOUT or returning a string.
- The lists above and the resulting sentences will only be in Dutch (with optionally the English translations added behind every word / the entire sentence).
NOTE: The original idea was to have the lists being part of the code, and @JonathanAllan suggested to use just Dutch instead of English, since there are quite a few languages with build-in English libraries. Later in the Sandbox, this switched to having the lists as input, and since I was already halfway through finishing the lists, I kept them Dutch. I've still added the English translations of each word in the list, so you can easily translate what your random output means.
- Because all the nouns are plural, we can assume the numbers will be in the range
- The numbers
02-09may be outputted with or without leading zero.
- You are allowed to take the input license plate as lowercase instead of uppercase.
- This is code-golf, so shortest answer in bytes wins.
Don't let code-golf languages discourage you from posting answers with non-codegolfing languages. Try to come up with an as short as possible answer for 'any' programming language.
- Standard rules apply for your answer, so you are allowed to use STDIN/STDOUT, functions/method with the proper parameters and return-type, full programs. Your call.
- Default Loopholes are forbidden.
- If possible, please add a link with a test for your code.
- Also, please add an explanation if necessary.
Some possible test cases (but feel free to use your own as well).
71-NN-BT 80-XW-IK 13-UU-EF 12-AA-AA 99-ZX-YW 73-TH-QQ 04-DJ-IO
What are some of your favorite random sentences?
Xwould always result in something with xylophones, since it was the only word with an
XI knew as a kid. But when I created this list earlier this week I wanted to have 5 words of each letter for each noun, verb and adjective for the sake of this challenge (which was pretty hard to accomplish for some letters..) Some of those words with a
XI had never even heard of.. And some words would be inappropriate to know as a < 12 y.o. kid. :) \$\endgroup\$