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
llnomscom la descritaha de retornar una llista amb una subllista per cada llista no vàlida trobada allnomsamb 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:
Mira i amplia els doctests que tens a
p2test.txt.Programa la funció al fitxer
p2.py.Valida-la passant els doctests.
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.