La classe Feina (3 punts)¶
Dissenyeu la classe Feina i deseu-la al mòdul feines (fitxer feines.py). Cada feina té una descripció, un indicador de si està pendent, una prioritat. La prioritat d’una feina és un nombre enter entre 1 i 4 (inclosos), essent 1 la prioritat màxima.
- class feines.Feina(descripcio, prioritat)¶
Crea una instància de la classe que representa una feina pendent amb la descripció i prioritat indicades.
Atributs:
Mètodes:
- criteris()¶
Retorna la prioritat de la feina si està pendent, 10 en cas contrari.
- rebaixa()¶
Suma 1 al nivell de prioritat de la feina, fent-la menys prioritària. Ara bé, si la feina ja té la prioritat 4 (la menys prioritària possible), enlloc de canviar el nivell de prioritat, la marca com a «no pendent» (ho fos o no ho fos).
Operacions:
La classe ha de suportar la conversió a
string, de manera que s’escrigui amb el format «c - n - descr», essentc el caràcter “P” si la feina està pendent, “R” si ja s’ha realitzat.
n la prioritat
descr la descripció de la feina
Exemples d’ús:
>>> f1 = Feina("Comprar entrades teatre", 3)
>>> f1.descripcio, f1.prioritat, f1.pendent
('Comprar entrades teatre', 3, True)
>>> f1.criteris()
3
>>> print(f1)
P - 3 - Comprar entrades teatre
>>> f1.rebaixa()
>>> print(f1)
P - 4 - Comprar entrades teatre
>>> f1.rebaixa()
>>> print(f1)
R - 4 - Comprar entrades teatre
>>> f1.criteris()
10
Disposeu de jocs de proves al fitxer tests-feina.txt, que podeu examinar per a acabar d’entendre com ha de respondre aquesta classe.