NOMS

Disposem d’una llista de llistes cadascuna amb un enter positiu n i un seguit de mots que comencen amb les mateixes n lletres. Totes les llistes tenen com a mínim l’enter i un nom.

Disposem d’un seguit de llistes de mots. A cada llista tots els noms tenen la mateixa arrel. comencen per les mateixes n lletres i no estan repetits. Algunes, però, tenen errors. Per exemple a la llista [4, 'Cant', 'Cantaire', 'Canço', 'Can'] té dos errors: 'Cançò' ja que no comença per 'Cant' i 'Can' que no arriba a 4 lletres.

Es demana la següent funció Python per detectar i llistar les llistes no vàlides:

check_noms(llnoms):
que donada la llista llnoms com la descrita
ha de retornar una llista amb una subllista per cada llista no vàlida trobada a llnoms amb 3 valors:
  • la posició d’aquesta llista defectuosa dins llnoms (començant a comptar per 1)

  • el nom que ha produït l’error

  • la posició del nom erroni dins la llista (també comptant a partir de 1)

Nota

  • El primer nom es considera sempre correcte (i per tant serveix de referència) excepte si no arriba a la llargada donada.

  • Si una llista no vàlida té més d’un error només es considera el primer.

Exemples:

>>> INPUT = [[4, 'Cant', 'Cantaire', 'Canço', 'Can'], 
... [3, 'Ball', 'Ballada', 'Ballarí'], 
... [4, 'Ros', 'Rosa', 'Rosat']]
 
>>> check_noms(INPUT)
[[1, 'Canço', 3], [3, 'Ros', 1]]

Un cop entès l’enunciat:

  1. Mira i amplia els doctests que tens a p2test.txt.

  2. Programa la funció al fitxer p2.py.

  3. Valida-la passant els doctests.

  4. Pots baixar-te una solució a p2.py.

Avís

Que una funció els passi tots no garanteix que la funció sigui correcte. Els doctests que venen amb aquest enunciat són correctes però no complets. Es recomana que els completis abans de fer la funció demanada.