Torrons¶
Un pastisser de gran renom internacional guarda la recepta del seu torró especial en un string. Per mantenir en secret la recepta, ha decidit encriptar-la canviant el nom d’algun dels ingredients. Per a fer-ho més secret, a cada nova ocurrència d’una paraula, es canvia per una de diferent. Així, per exemple, es substitueix la paraula “ametlla” per “xai” la primera vegada que apareix, per “oliva” la segona i per “formatge” la tercera. Si la paraula “ametlla” surt una quarta vegada la torna a canviar per “xai”, després per “oliva” i així successivament.
Les claus de l’encriptat estan representades en un diccionari on la clau és la paraula original i el valor una llista amb les seves 3 alternatives. Per exemple: {“ametlla”: [“xai”, “oliva”, “formatge”], “sucre”:[ “brandy”, “bacalla”, “pebre”]}
Dissenyeu una funció que donat un string amb la recepta i un diccionari d’encriptació obtingui i retorni un string amb la recepta encriptada
Feu el procés invers: dissenyeu una funció que donat el nom del fitxer de recepta encriptat i donat el nom del fitxer de claus, obtingui i retorni un string amb la recepta original.
Nota: Suposeu que totes les ocurrències de les paraules són en minúscules, que no hi ha apòstrofs ni accents i que els signes de puntuació estan sempre separats per espais en blanc, mai enganxats a les paraules.