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:

descripcio

Petit text descriptiu de la feina (str).

pendent

Indicador de si la feina està pendent de fer o ja s’ha realitzat (bool).

prioritat

Nivell de prioritat de la feina (int entre 1 i 4, inclosos)

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», essent

  • c 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.