🎨
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
  1. Entorno gráficos y archivos

Almacenar los datos de un alumno

AnteriorEjemplos de interfaz gráfica y archivos

Última actualización hace 29 días

Introducir las notas de un alumno, en un archivo llamado datos.txt, si el usuario pulsa Almacenar o Salir para abandonar el programa. Pantalla será similar a la siguiente:

Código

import os
from tkinter import *
ventana = Tk()
def guardar_archivo():
    #Saca los datos del entorno gráfico
    nombre=nombre_p.get()
    nota=nota_p.get()
    resultado=nombre+"\t"+nota
    datos.set(resultado)
    nombre_archivo="datos1.txt"
    #Verifica si existe el archivo, para saber como debe abrirlo
    if os.path.exists(nombre_archivo):
            print("Existe el archivo")
            existe="a"
    else:
        print("El archivo no existe")
        existe="w"
    #Guarda los datos
    archivo=open(nombre_archivo,existe)
    archivo.write(nombre+";"+nota+"\n")
    archivo.close()
    
# damos título a la ventana
ventana.title("Ejemplo con marco")
# la hacemos de dimensiones fijas
ventana.resizable(False, False)
# ancho y alto de la ventana
ventana.geometry("550x550") 
# etiqueta del título del formulario (no de la ventana)
#Crea los widgets
nombre_e=Label(ventana,text="Nombre")
nombre_e.grid(row=5,column=10)
nombre_p=Entry(ventana)
nombre_p.grid(row=5,column=15)
nota_e=Label(ventana,text="Nota")
nota_e.grid(row=7,column=10)
nota_p=Entry(ventana)
nota_p.grid(row=7,column=15)
#Crea el marco para agrupar los botones
marco=LabelFrame(ventana,text="Agrupar botones")
marco.grid(row=10,column=20)
datos=StringVar()
mensaje=Label(ventana,textvariable=datos)
mensaje.grid(row=11,column=10)
guardar=Button(marco,text="Almacenar",command=guardar_archivo)
guardar.grid(row=8,column=20)
salir=Button(marco,text="Salir",command=ventana.destroy)
salir.grid(row=8,column=30)
ventana.mainloop()