É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.

Nota

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).


>>> 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:

  1. 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.
  2. 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.
  3. la tercera on no pots fer servir llistes ni cap mètode de la classe str.

Nota

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.