2. Aules

Una escola universitària emmagatzema la informació sobre la disponibilitat d’aules a un fitxer on cada línea correspon a una aula i està formada per l’edifici on es troba l’aula, el nom de l’aula i les hores disponibles, tot separat per punt i coma (;). La codificació de les hores és en el format hora:minuts i sempre corresponen a hores en punt (amb zero minuts). Per exemple:

H;H-0;10:00;12:00;16:00
C;C-12;8:00;10:00;11:00;13:00;15:00
C;C-15;9:00;12:00;15:00
H;H-12;9:00;10:00;11:00;13:00

Per resoldre aquest exercici has de dissenyar les funcions següents i desar-les al fitxer aules.py .

  1. Dissenya la funció aula_disponible (laula,hora) on laula és una llista d’strings corresponent a la informació d’un sol aula i formada per l’edifici a on es troba l’aula, el nom de l’aula i les hores disponibles codificades amb el format hora:minuts i que sempre corresponen a hores en punt, i hora és un enter corresponent a una hora, retorna el nom de l’aula si l’hora donada està disponible o un string buit en cas contrari.

    Els següents doctests mostren exemples del que ha de fer la funció:

    >>> laula = ['D', 'D9', '11:00', '12:00', '13:00', '14:00', '16:00', '18:00']
    >>> aula_disponible(laula,12)
    'D9'
    >>> aula_disponible(laula,18)
    'D9'
    >>> aula_disponible(laula,8)
    ''
    

    Disposeu de tests al fitxer test-aula-disponible.txt.

  2. Dissenya la funció disponibilitat que donat el nom d’un fitxer amb informació d’aules i un enter que representa una hora, retorna una llista amb els noms de les aules disponibles per l’hora donada. L’ordre dels elements a la llista serà el mateix que l’ordre d’aparició al fitxer. Aquesta funció ha de cridar a la funció anterior aula_disponible.

    Per exemple, per un fitxer amb les dades de l’exemple indicat a dalt ( exemple.txt) i l’hora igual a 12, la funció hauria de retornar la llista

    ['H-0', 'C-15']
    

    Disposeu de tests al fitxer test-disponibilitat.txt.

Disposeu d’una solució al fitxer aules.py.