De moderne versie van een Engels gedicht luidt
De oorsprong van dit gedicht is onbekend, maar de vroegste sporen ervan gaan terug naar de volgende regels die Sir Edmund Spenser3 in 1590 neerschreef in zijn epos The Faerie Queen4 (Boek drie, Canto 6, Stanza 6):
It was upon a Sommers
shynie day,
When Titan faire his beames did display,
In a fresh fountaine, farre from all mens vew,
She bath'd her brest, the boyling heat t'allay;
She bath'd with roses red, and violets blew,
And all the sweetest flowers, that in the forrest grew.
Het dook ook op in Gammer Gurton's Garland or the Nursery Parnassus: A Choice Collection of Pretty Songs and Verses, een collectie van Engelstalige kinderliedjes uit 1784.
The rose is red, the
violet's blue,
The honey's sweet, and so are you.
Thou are my love and I am thine;
I drew thee to my Valentine:
The lot was cast and then I drew,
And Fortune said it shou'd be you.
Victor Hugo kende vermoedelijk wel het werk van Spenser, maar het is twijfelachtig of hij ook het Engelse kinderliedje kende toen hij in 1862 de roman Les Misérables5 uitbracht. Hugo was zowel dichter als romanschrijver, en de tekst van zijn roman is dan ook doorspekt van de vele liedjes. Een van deze liedjes — gezongen door het personage Fantine — bevat het volgende refrein:
Nous
achèterons de bien belles choses avec notre argent
En nous promenant le long des faubourgs.
Les bleuets sont bleus, les roses sont roses,
Les bleuets sont bleus, j'aime mes amours.
De sport bestaat erin om verschillende varianten van het gedicht te verzinnen, waarbij vooral de kleuren van de bloemen en de laatste twee versregels aangepast worden. Schrijf een functie gedicht die een variant van de moderne versie van het gedicht teruggeeft als string bestaande uit vier versregels. Daarbij moeten de cursieve fragmenten van de weergave uit de inleiding kunnen aangepast worden. Daarvoor heeft de functie vier optionele parameters:
roses: hieraan kan de kleur van de rozen doorgegeven worden
violets: hieraan kan de kleur van de viooltjes doorgegeven worden
line3: hieraan kan de derde versregel doorgegeven worden (behalve de afsluitende komma)
line4: hieraan kan de laatste versregel doorgegeven worden (behalve het afsluitende punt)
Zorg ervoor dat de standaardwaarden van deze optionele parameters zo ingesteld worden, dat de oorspronkelijke versie van het gedicht wordt teruggegeven indien er geen argumenten aan de functie doorgegeven worden.
>>> print(gedicht())
Roses are red,
Violets are blue,
Sugar is sweet,
And so are you.
>>> print(gedicht('yellow', line3='Sugar is white'))
Roses are yellow,
Violets are blue,
Sugar is white,
And so are you.
>>> print(gedicht(line4='My sweet sixteen', violets='green'))
Roses are red,
Violets are green,
Sugar is sweet,
My sweet sixteen.