-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpractica_39_5.py
36 lines (30 loc) · 1.32 KB
/
practica_39_5.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pickle
class Estudiante:
def __init__(self, codigo, nombre, edad):
self.codigo = codigo
self.nombre = nombre
self.edad = edad
def editar_edad_estudiante(codigo_buscado, nueva_edad):
try:
# Abrir el archivo binario para lectura y escritura
with open("estudiantes_binarios.dat", "rb+") as archivo:
estudiantes = pickle.load(archivo)
encontrado = False
for estudiante in estudiantes:
if estudiante.codigo == codigo_buscado:
encontrado = True
estudiante.edad = nueva_edad
archivo.seek(0) # Regresar al principio del archivo
pickle.dump(estudiantes, archivo)
print("Edad actualizada exitosamente.")
break
if not encontrado:
print("No se encontró un estudiante con ese código.")
except FileNotFoundError:
print("El archivo de estudiantes no se encuentra.")
except Exception as e:
print("Ocurrió un error al leer o escribir en el archivo:", str(e))
if __name__ == "__main__":
codigo_buscado = int(input("Ingrese el código del estudiante a buscar: "))
nueva_edad = int(input("Ingrese la nueva edad: "))
editar_edad_estudiante(codigo_buscado, nueva_edad)