Contrasenyes febles =================== Una empresa disposa d'informació sobre les contrasenyes dels seus usuaris de sistemes informàtics i necessita desenvolupar funcions per gestionar la seguretat d'aquestes contrassenyes. Es considera que una contrasenya és *feble* si té menys de 6 caràcters o està formada només per caràcters alfabètics. Dissenya la funció següent i desa-la al fitxer ``febles.py``: .. py:function:: febles.hi_ha_feble(lcont) Retorna la primera contrasenya feble de *lcont*. :param list[str] usuari: Llista d'strings que representen parelles amb el codi d'un servei i la contrasenya de l'usuari per aquest servei separats per dos punts (``:``). :rtype: str :return: La primera contrasenya de la llista que és feble o un string buit si no n'hi ha cap. Els següents doctests mostren exemples del que ha de fer la funció: .. literalinclude:: test-hiha-feble.txt :language: python3 :lines: 3-9 .. note:: Disposes de més tests al fitxer :download:`test-hiha-feble.txt` A més, es disposa d'una llista de llistes amb tots els usuaris on cada subllista conté el nom de l'usuari (string) i una llista (no buida) de serveis i contrasenyes d'aquest usuari. Per exemple: .. literalinclude:: test-filtra-usuaris.txt :language: python3 :lines: 3-10 Dissenya la funció següent i desa-la al fitxer ``febles.py``: .. py:function:: febles.filtra_usuaris_dep(lusuaris,ldep) Retorna els usuaris que tenen alguna contrasenya feble, juntament amb la primera contrasenya feble, que pertanyen al departament especificat per *ldep*. :param list[str,list] lusuaris: Llista d'usuaris a on cada usuari està representat pel nom i la llista de serveis i contrasenyes. :param list[str] ldep: Llista de noms d'usuari d'un departament. :rtype: list[tuple] :return: Una llista amb els usuaris que tenen alguna contrasenya feble formada per tuples amb el nom d'usuari i la primera contrasenya feble de la llista de serveis i contrasenyes d'aquest usuari. La llista estarà ordenada alfabèticament per nom d'usuari de forma descendent. Si no hi ha cap usuari del departament o cap usuari del departament té alguna contrasenya feble, retorna una llista buida. Els següents doctests mostren exemples del que ha de fer la funció: .. literalinclude:: test-filtra-usuaris.txt :language: python3 :lines: 3-18 .. note:: Disposes de més tests al fitxer :download:`test-filtra-usuaris.txt` Disposeu de solucions al fitxer :download:`febles.py`