Lingo is een spelletje waarbij een woord moet geraden worden. Het aantal letters van dit woord is gegeven, en doorgaans wordt ook de eerste letter gegeven. Om het woord te achterhalen kan de speler een woord met het juiste aantal letters opgeven. De computer geeft dan aan welke letters correct zijn en op de juiste plaats staan, en welke letters wel voorkomen in het woord dat moet geraden worden, maar niet op de juiste plaats staan. In onderstaand voorbeeld worden deze twee soorten tips respectievelijk aangeduid met een rode en een gele kleur.

lingo

Als je nog niet met dit spelletje vertrouwd zou zijn, dan kan je het bijvoorbeeld hier1 eens online spelen om het in de vingers te krijgen. Maar pas op, het kan verslavend werken.

Opgave

Schrijf een functie lingo met twee parameters: geraden en gezocht. Aan beide parameters moeten strings doorgegeven worden die respectievelijk een woord bevatten dat de gebruiker heeft opgegeven, en het verborgen woord dat door de gebruiker moet gezocht worden. Je mag ervan uitgaan dat beide strings enkel bestaan uit kleine letters en even lang zijn. De functie moet een string als resultaat teruggeven die het woord bevat dat de gebruiker heeft opgegeven, maar waarvan de letters die correct zijn en op de juiste plaats staan tussen vierkante haakjes staan en de letters die wel in het te raden woord voorkomen maar niet op de juiste plaats staan tussen ronde haakjes staan. Hierbij moeten de volgende regels in acht genomen worden:

Voorbeeld

>>> lingo('camelot', 'cembalo')
'[c](a)[m](elo)t'
>>> lingo('inquisition', 'reconquista')
'(inqu)i(s)i(t)i(o)n'
>>> lingo('python', 'embryo')
'p(y)th(o)n'
>>> lingo('megalomaniacally', 'circumstantiated')	 
'(me)g(a)loma(ni)a(c)[a]lly'