Salta el contingut
 

Simulacre 2a avaluació

Joan Puigcerver Ibáñez

j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Entrega

Si l'entrega no compleix aquests criteris, no és qualificarà.

  • Cal utilitzar el repositori creat en l'organització del mòdul: CognomNom-IP.
  • Tots els exercicis han d'estar situats en el directori corresponent: simulacre2
  • El nom del fitxer ha de coincidir amb l'indicat en l'enunciat.
  • S'ha d'entregar a Aules un fitxer .zip amb el contingut del directori.
  • El format de la eixida del programa ha de ser consistent amb el format demanat.
  • El codi ha d'estar publicat a GitHub i etiquetat amb l'etiqueta simulacre2.
  • El codi ha de poder-se executar.

Consideracions

  • Cal encapsular la lògica del programa en funcions.
  • Cal utilitzar la convenció if __name__ == '__main__': per encapsular el punt d'entrada del programa.
  • Cal utilitzar les estructures de dades adequades per a cada exercici.

todo.py

Crea el programa todo.py que permet gestionar una llista de tasques pendents.

El programa ha de permetre a l'usuari afegir tasques, que es guardaran en el fixer ~/.todo.csv a la carpeta personal de l'usuari, en format CSV.

Cada tasca té un títol, una descripció i una prioritat (0 és la més alta).

La sintaxi per afegir una tasca és la següent:

python todo.py <action> [title] -d [description] -p [priority]
  • <action>: l'acció a realitzar, que pot ser:
    • add: per afegir una nova tasca.
    • list: per mostrar totes les tasques pendents.
  • [title]: el títol de la tasca (obligatori per a la funció add).
  • -d [description]: la descripció de la tasca (opcional per a la funció add).
  • -p [priority]: Prioritat de la tasca. Opcional.
    • En la funció add, si no es proporciona, la prioritat per defecte serà 1.
    • En la funció list, serveix per filtrar les tasques per prioritat.

El format d'eixida de la funció list ha de ser el següent:

[index]: P[priority] - [title] - [description]
Exemple d'ús
student@fp:~ $ python todo.py add "Study for Python exam" -p 0 -d "Review all topics and practice exercises"
student@fp:~ $ python todo.py add "Win a Brawl Stars game" -p 100 -d "Play with my friends and win a game of Brawl Stars"
student@fp:~ $ python todo.py list
0: P0 - Study for Python exam - Review all topics and practice exercises
1: P100 - Win a Brawl Stars game - Play with my friends and win a game of Brawl Stars
student@fp:~ $ cat ~/.todo.csv
priority,title,description
0,Study for Python exam,Review all topics and practice exercises
100,Win a Brawl Stars game,Play with my friends and win a game of Brawl Stars
Ampliació: ordenar per prioritat

Canvia el comportament de list per mostrar les tasques ordenades per prioritat, de més alta a més baixa. En cas d'empat, les tasques amb la mateixa prioritat s'han de mostrar en l'ordre en què van ser afegides.

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.