Leer archivo, modificar datos y guardarlos
Enunciado
Tengo las calificaciones de N alumnos de la asignatura X, del primer primer y segundo parcial La información está almacenada, en un archivo llamado “notas_x.txt” cada alumno es una fila y los datos separado por ; , de la siguiente manera “Juan”;4.5,3.4.
Crear un programa que permita modificar la nota del primer parcial de un alumno que previamente se le pregunta al usuario. Y esa información quede almacenada en el archivo con el mismo nombre.
Partiendo que el usuario teclea correctamente una nota válida.
Código
import os
#Nombre del archivo
archivo_nombre="notas_x.txt.txt"
if os.path.exists(archivo_nombre):
#Si existe el archivo
matriz=[]
with open(archivo_nombre,"r") as archivo:
#Crea la matriz
for i in archivo.readlines():
lista=i.split(";")
matriz.append(lista)
if matriz:
#Si hay datos en la matriz se pide el nombre y la calificación
alumno=input("Dame el nombre")
existe=True
for i in range(len(matriz)):
if alumno==matriz[i][0]:
nota=float(input("Dame el nota"))
matriz[i][0]=alumno
matriz[i][1]
existe= False
if existe==False:
#Se guardar de nuevo todos los datos en el archivo partícula w hay que borrar el que existe
with open(archivo_nombre,"w") as archivo:
for i in range(len(matriz)):
cadena=matriz[i][0]+";"+str(matriz[i][1])+";"+str(matriz[i][2])+"\n"
archivo.write(cadena)
else:
print("El alumno no existe")
else:
print("el archivo no existe")
AnteriorCálcular la media de unos datos almacenados en un archivoSiguienteDefinición: Interfaz Gráfica de Usuario (IGU)
Última actualización