Diferència entre revisions de la pàgina «ASIX-M3-UF3-A2.1-Exercicis fitxers de text»
(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 | + | :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.