.. index:: És anagrama? És anagrama? ---------------------------------------- Dissenya la funció *es_anagrama(s1, s2)* que donats dos strings *s1* i *s2* retorni *True* si la cadena de caràcters *s1* és un anagrama de *s2*, i *False* en cas contrari. .. note:: Una cadena de caràcters és anagrama d'una altra si la primera està formada per la transposició de les lletres de la segona (conté els mateixos caràcters però en diferent ordre). | .. code-block:: python3 >>> es_anagrama('anagrama', 'amagaran') True >>> es_anagrama('avida dollars', 'salvador dali') True >>> es_anagrama('casa', 'casaca') False >>> es_anagrama('nen', 'ene') False | Fes tres solucions, de més senzilla a més complexa: a. la primera on pots fer servir la funció de conversió de string a llista *list(str)*, i el mètode *sort* de la classe *list*. b. la segona sense fer servir llistes, però on pots usar els mètodes dels strings que creguis més convenients, en particular el mètode *count* per comptar quantes vegades apareix una lletra. c. la tercera on no pots fer servir llistes ni cap mètode de la classe *str*. .. note:: En les solucions b i c, opcionalment pots fer servir un string auxiliar per evitar comptar de nou totes les aparicions d'una lletra que ja ha aparegut abans en *s1*. | | | | | | | | | | | |