Coral 2¶
Una coral té emmagatzemada la informació dels seus cantaires en un
fitxer. A cada línia d’aquest fitxer hi ha tres dades, separades pel
caràcter &, el nom, el tipus de veu (soprano, contralt, tenor o baix)
i un indicatiu de si el cantaire pot actuar com a solista (True) o no
(False). Per exemple:
Josefina&contralt&True Pepet&baix&False Josep&tenor&True Fina&soprano&True
Disenyeu la funció
bolosque a partir del nom d’un fitxer d’aquestes característiques, d’un string que representa un tipus de veu i d’un enter, n, retorni True si hi ha al menys n cantaires amb el tipus de veu indicat que poden actuar com a solistes i False en cas contrari.Desa la funció al fitxer
coral2.py. La funció ha de passar el següent doctest:>>> bolos('coral2.txt', 'soprano', 3) True >>> bolos('coral2.txt', 'baix', 2) False
Nota
Podeu descarregar el fitxer amb tests
test_coral2_1.txti el fitxer d’exemplecoral2.txt.Dissenya la funció
dicc_solistesque a partir del nom d’un fitxer d’aquestes característiques, obtingui i retorni un diccionari on la clau sigui el tipus de veu i el valor una llista amb els cantaires que tenen aquell tipus de veu i que poden actuar com a solistes. Aquesta llista ha d’estar ordenada alfabeticament.Desa la funció al mateix fitxer
coral2.pyde l’apartat anterior. La funció ha de passar el següent doctest:>>> d = dicc_solistes('coral2.txt') >>> d == {'baix': ['Xema'], 'soprano': ['Fina', 'Fineta', 'Pepeta'], ... 'tenor': ['Josemari', 'Josep', 'Pep'], ... 'contralt': ['Josefina', 'Mariajosep']} True
Nota
Podeu descarregar el fitxer amb tests
test_coral2_2.txti el fitxer d’exemplecoral2.txt.
Solucions
Disposeu de solucions al fitxer coral2.py