🎨
Informática para ingeniería 2023-2024
  • Informática para ingeniería
  • Básico python
  • Estructuras de control
    • while
    • for
    • try...except
    • If, else, elif, while, for
    • Ejemplo. Ciclos anidados. Tablas de multiplicar
    • Método abreviado
    • ¿Qué hace zip() ?
  • Secuencias
  • Comparativas: Cadena, lista, tupla y conjunto
    • Ejemplos listas y funciones: Control de temperatura
    • Verificación del NIF
    • Ejemplo listas: control de temperaturas
  • Secuencias: Matriz
    • Definición: Matriz
    • Localizar valores únicos en una matriz
    • Ejemplo matrices: Suma y Multiplicación
    • verificar si una matriz es cuadrada
  • Funciones
    • Definición: funciones
    • Ejemplo de funciones
  • Módulos
    • Módulo. Definición
    • Ejemplos de Módulos: math y random
  • Método abreviado de comprensión de listas...
    • Comprensión de listas
  • Funciones- Matriz-Ejemplos
    • Ejemplo, cálculo de Nómina mensual
    • Ejemplo, cálculo de Nómina mensual (desde el programa principal)
    • Menú, matriz y funciones
    • Localizar valores únicos en una matriz. Usar Funciones
    • Ejemplo funciones, matriz, archivos: Recuento de votos
    • Matrices 2ª Prueba Evaluación Continua. Curso 2018-2019 Parcial. Prof MRD
    • Prueba Evaluación Continua. Curso 2018-2019. Examen 1. Prof. MRD
    • Gestión de una matriz de números enteros
  • Ejecutable
    • Crear un programa ejecutable
  • Archivo (ficheros)
    • Definición: archivos (ficheros)
  • Ejemplos de Matriz y archivos (ficheros)
    • ¿Cómo se multiplican dos matrices?
    • Crear una matriz a partir de un archivo
    • Pedir datos, guardarlos en una matriz y en un archivo
    • Cálcular la media de unos datos almacenados en un archivo
    • Leer archivo, modificar datos y guardarlos
  • Interfaz Gráfica
    • Definición: Interfaz Gráfica de Usuario (IGU)
      • Label
      • Button
      • Radiobutton y Checkbutton
      • LabelFrame
      • Listbox
      • Entry
      • Características comunes de Label, Entry, button, radiobutton checkbutton
      • ttk.Combobox
      • Tamaño de una ventana
    • Ejemplo de Entorno gráfico: RadioButton
    • Visualizar la especialidad y nombre de un alumno
    • Visualizar los datos introducidos
    • Sumar 10 a un número introducido
    • Cálculo del área de un triángulo
    • Cálculo del área de un Círculo. Y dibujo de un círculo
    • ¿Dos números son divisibles?
    • Introducir valores y graficar
    • Ejemplo de botón, lista
  • Ejemplos de interfaz gráfica y archivos
  • Entorno gráficos y archivos
    • Almacenar los datos de un alumno
Con tecnología de GitBook
En esta página
  • Enunciado
  • Código
  1. Ejemplos de Matriz y archivos (ficheros)

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")

Ojo: Hay que abrir con la partícula w, para que borre el archivo anterior, y guarde el nuevo valor.

AnteriorCálcular la media de unos datos almacenados en un archivoSiguienteDefinición: Interfaz Gráfica de Usuario (IGU)

Última actualización hace 1 año