Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Crear dos programas que reciban una ruta de archivo por argumento: un programa para
guardar un texto cifrado, y otro para leer y descifrar un texto, ambos utilizando las funciones de
cifrar y descifrar de los ejercicios de la Unidad 3 (Cadenas de caracteres).
El programa para cifrar se ejecutaría de esta forma en una terminal (o como lo hace inter-
namente PyCharm al configurarle los argumentos):
Entonces pedirá al usuario introducir por teclado una contraseña, y justo después, pedirá
escribir un texto:
Guardará dicho texto en el archivo cuya ruta se ha dado por argumento al programa (en el
ejemplo previo, archivo.txt) y el programa acabará.
De forma similar, el programa para descifrar ejecutado de esta forma:
Pedirá una contraseña y descifrará el texto del contenido cifrado de ese archivo mostrándolo
por pantalla.
Matrices Página 1
Nota: en este ejercicio, para evitar que Python dé errores en algunos casos porque la cadena
cifrada tiene caracteres especiales, se deberá utilizar open() con el argumento encoding=ütf-
8" tras el argumento del modo lectura o escritura.
Implementar una aplicación que reciba una ruta de archivo por argumento y que pida al
usuario una lista de números por teclado separados por coma y espacio. Después, el progra-
ma guardará esta lista en el archivo especificado. Por ejemplo:
Esa cadena se debe convertir en lista y después se debe guardar en el archivo lista.txt,
escribiendo un número en cada línea. Es decir:
1
2
34
20
10
Crear un programa que reciba por argumento la ruta de un archivo que contiene un número
de coma flotante por línea, y que calcule la media de todos esos números.
Es decir, suponiendo un archivo llamado numeros.txt con este contenido:
3.6234
385.4367
23.1937
887.32
Matrices Página 2
1.4. Guardar una matriz aleatoria en un archivo
Puedes elegir el formato que quieras para guardar la matriz en el archivo, pero ten en cuenta
que necesitarás leerla en el ejercicio siguiente. Un buen formato es el que se crea al convertir
una lista en una cadena, es decir, str(lista).
Utilizando la herramienta que hemos creado en el ejercicio anterior, vamos a crear dos
archivos con dos matrices que se puedan multiplicar. En este ejercicio vamos a escribir un
programa que reciba estos dos archivos, lea las matrices correctamente, las multiplique y final-
mente guarde el resultado en un tercer archivo. Los nombres de los archivos se deben entregar
como argumento. Por ejemplo:
De tal forma que lea las matrices guardadas en ’matriz1.txt’ y ’matriz2.txt’, las multiplique y
guarde el resultado en ’resultado.txt’.
Vamos a crear un programa que implemente un sistema de acceso a usuarios similar al que
podría tener una web. Para ello, primero el programa abrirá un archivo previamente creado lla-
mado contrasenyas.txt, el cual contendrá todos los correos y contraseñas de los usuarios
que queremos que accedan a nuestro sistema. El archivo debe contener los siguientes campos
con este formato:
email_usuario_1:contraseña1
email_usuario_2:contraseña2
email_usuario_3:contraseña3
...
De tal forma que cuando el programa se ejecute, después de procesar el archivo, le pida al
usuario un email y contraseña y compruebe que éste se encuentra en el archivo contrasen-
yas.txt y que las contraseñas coinciden. El usuario debe poder intentar entrar 3 veces si se
Matrices Página 3
equivoca pero no una cuarta. Tras 3 intentos fallidos, el programa acabará con un mensaje de
error escrito por la salida de error stderr. Si se introducen un email y contraseña correctos,
el programa mostrará un mensaje indicando que el acceso está permitido, y también acabará.
Por ejemplo, en el caso de que los datos sean correctos:
Crear una función leer_usuarios(ruta_fichero) que abra y lea un fichero como este
cuya ruta recibe por parámetro:
NOMBRE;APELLIDOS;EDAD
Daenerys;Targaryen;35
Jon;Nieve;32
Gregor;Clegane;55
Cersei;Lannister;40
Tyrion;Lannister;32
Sansa;Stark;18
Arya;Stark;16
Khal;Drogo;29
Joffrey;Baratheon;16
Petyr;Baelish;53
Sandor;Clegane;44
Ramsay;Bolton;33
Margaery;Tyrell;17
Matrices Página 4
y que devuelva un lista de tuplas. Cada tupla debe contener todos los campos separados
por punto y coma que hay en una línea del fichero, ignorando la primera línea ya que es una
cabecera. Siguiendo el ejemplo, la función devolvería el resultado así:
>>> print(usuarios)
[(’Daenerys’,’Targaryen’,35), (’Jon’,’Nieve’,32), ...]
En el siguiente archivo se encuentran una serie de fechas (una fecha por línea):
11 nov 2021
10 oct 2017
31 ago 2005
12 feb 2011
18 mar 2000
17 mar 2000
7 dic 2005
13 nov 2021
Escibe un programa que reciba un fichero como este por argumento y que imprima por pan-
talla cuál es la fecha más antigua y la más reciente. Para el archivo de ejemplo:
Matrices Página 5