Diferència entre revisions de la pàgina «ASIX-M3-UF3-A2.1-Exercicis fitxers de text»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(7 revisions intermèdies per un altre usuari que no es mostra)
Línia 3: Línia 3:
 
'''Format del diccionari:'''  
 
'''Format del diccionari:'''  
 
:Clau: Id de la persona
 
:Clau: Id de la persona
:Valor: Llista amb Nom, Cognom, Salari
+
:Valor: Llista amb Nom, Cognom i Salari
 
   
 
   
 
Creeu prèviament el fitxer de text amb el següent format: Id;Nom;Cognom;Sou (un a cada línia).
 
Creeu prèviament el fitxer de text amb el següent format: Id;Nom;Cognom;Sou (un a cada línia).
 +
 +
Exemple de la sortida:
 +
 +
<pre>
 +
Id    Nom    Cognoms    Sou
 +
----------------------------
 +
123H  Pere    Pou        900
 +
547A  Maria  Roda      1500
 +
784K  Luis    Abadal    1300
 +
465F  Raquel  Busquet  1600
 +
</pre>
 +
 +
:Fitxer:
 +
<pre>
 +
123H;Pere;Pou;900
 +
547A;Maria;Roda;1500
 +
784K;Luis;Abadal;1300
 +
465F;Raquel;Busquet;1600
 +
</pre>
 +
 +
2. Per aquest exercici, crea prèviament un fitxer de text, que contingui només un número. Fes un mètode que pugui rebre 0, 1 o 2 paràmetres:
 +
 +
:* Si no rep cap paràmetre mostrarà el número.
 +
:* Si rep només un a paràmetre:
 +
::- Si és "inc" mostrarà el número incrementat amb 1 i actualitzarà el fitxer amb el nou valor.
 +
::- Si és "dec" mostrarà el número decrementat amb 1 i actualitzarà el fitxer amb el nou valor.
 +
::- Qualsevol altra valor, mostrarà un missatge informant del fet.
 +
:* Si rep dos paràmetres:
 +
::- Si el primer és "inc" i el segon un enter (num) mostrarà el número incrementat amb num i actualitzarà el fitxer amb el nou valor.
 +
::- Si és "dec" i el segon un enter (num) mostrarà el número decrementat amb num i actualitzarà el fitxer amb el nou valor.
 +
::- Qualsevol altra combinació de valors en els paràmetres, mostrarà un missatge informant del fet.
 +
 +
:* Utilitzeu excepcions (Blocs try - except) per tractar qualsevol error no previst.
 +
 +
3. Fes un mètode per xifrar un fitxer de text. Rebrà com a paràmetre un fitxer de text i crearà un altre, afegint al nom de l'original "_cod" i amb la mateixa extensió. L'algoritme de xifrat consisteix en:
 +
:* caràcters de la "a" a la "z": restar 11 per obtenir el caràcter xifrat.
 +
:* caràcters de la "A" a la "Z": sumar 15  per obtenir el caràcter xifrat.
 +
:* caràcters del "0" al "9": sumar 13 per obtenir el caràcter xifrat.
 +
:* la resta de caràcters no es modifiquen
 +
 +
4. El fitxer comarques.txt (a Moodle) conté un llistat de les comarques de Catalunya. És un fitxer de text i cada comarca ocupa una línia. Feu un programa amb un menú que ens permeti executar els mètodes per:
 +
 +
:*1. Mostrar totes les comarques que comencin per una lletra i el nombre total de les mateixes.
 +
:*2. Crear un diccionari amb la primera lletra de cada comarca com a clau i el número de comarques que comencen per aquesta lletra.
 +
:*3. Crear un nou fitxer amb les dades del diccionari de l'apartat 2, una lletra per línia i el número separat per tabulador ('\t');
 +
:*4. A partir del fitxer anterior sumi i ens mostri quantes comarques hi ha (podeu utilitzar els mètodes dels strings split i rstrip.

Revisió de 15:38, 2 maig 2024

1. Fes un programa que crei un diccionari en les dades dels empleats del fitxer de text empleats.txt. Y a continuació, el recorri mostrant les seves dades.

Format del diccionari:

Clau: Id de la persona
Valor: Llista amb Nom, Cognom i Salari

Creeu prèviament el fitxer de text amb el següent format: Id;Nom;Cognom;Sou (un a cada línia).

Exemple de la sortida:

Id    Nom    Cognoms    Sou 
----------------------------
123H  Pere    Pou        900
547A  Maria   Roda      1500
784K  Luis    Abadal    1300
465F  Raquel  Busquet   1600
Fitxer:
123H;Pere;Pou;900
547A;Maria;Roda;1500
784K;Luis;Abadal;1300
465F;Raquel;Busquet;1600

2. Per aquest exercici, crea prèviament un fitxer de text, que contingui només un número. Fes un mètode que pugui rebre 0, 1 o 2 paràmetres:

  • Si no rep cap paràmetre mostrarà el número.
  • Si rep només un a paràmetre:
- Si és "inc" mostrarà el número incrementat amb 1 i actualitzarà el fitxer amb el nou valor.
- Si és "dec" mostrarà el número decrementat amb 1 i actualitzarà el fitxer amb el nou valor.
- Qualsevol altra valor, mostrarà un missatge informant del fet.
  • Si rep dos paràmetres:
- Si el primer és "inc" i el segon un enter (num) mostrarà el número incrementat amb num i actualitzarà el fitxer amb el nou valor.
- Si és "dec" i el segon un enter (num) mostrarà el número decrementat amb num i actualitzarà el fitxer amb el nou valor.
- Qualsevol altra combinació de valors en els paràmetres, mostrarà un missatge informant del fet.
  • Utilitzeu excepcions (Blocs try - except) per tractar qualsevol error no previst.

3. Fes un mètode per xifrar un fitxer de text. Rebrà com a paràmetre un fitxer de text i crearà un altre, afegint al nom de l'original "_cod" i amb la mateixa extensió. L'algoritme de xifrat consisteix en:

  • caràcters de la "a" a la "z": restar 11 per obtenir el caràcter xifrat.
  • caràcters de la "A" a la "Z": sumar 15 per obtenir el caràcter xifrat.
  • caràcters del "0" al "9": sumar 13 per obtenir el caràcter xifrat.
  • la resta de caràcters no es modifiquen

4. El fitxer comarques.txt (a Moodle) conté un llistat de les comarques de Catalunya. És un fitxer de text i cada comarca ocupa una línia. Feu un programa amb un menú que ens permeti executar els mètodes per:

  • 1. Mostrar totes les comarques que comencin per una lletra i el nombre total de les mateixes.
  • 2. Crear un diccionari amb la primera lletra de cada comarca com a clau i el número de comarques que comencen per aquesta lletra.
  • 3. Crear un nou fitxer amb les dades del diccionari de l'apartat 2, una lletra per línia i el número separat per tabulador ('\t');
  • 4. A partir del fitxer anterior sumi i ens mostri quantes comarques hi ha (podeu utilitzar els mètodes dels strings split i rstrip.