🎨
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
  • Análisis:
  • Diagrama
  • Se crea la ventana
  • Código realizar cálculos
  • Código Completo
  1. Interfaz Gráfica

Cálculo del área de un triángulo

AnteriorSumar 10 a un número introducidoSiguienteCálculo del área de un Círculo. Y dibujo de un círculo

Última actualización hace 1 año

Enunciado

Cálculo del área de un triángulo.

Análisis:

  • Crear la ventana, pedir los valores de la base y de la altura (Entry).

  • Cuando el usuario teclee el botón calcular, visualizar el área, si los valores introducidos son correctos.

Diagrama

Se crea la ventana

# creamos la ventana  
ventana = Tk() 
# damos título a la ventana
ventana.title("Mi primer Ejercicio")
# la hacemos de dimensiones fijas
ventana.resizable(False, False)
# ancho y alto de la ventana
ventana.geometry("450x250") 
# etiqueta del título del formulario (no de la ventana)
etiqueta_titulo = Label(ventana, text="Calcula el área de un triángulo")
etiqueta_titulo.grid(row=0, column=0, columnspan=2, padx=5, pady=3)
# etiqueta de la entrada de velocidad
etiqueta_altura = Label(ventana, text="Altura")
etiqueta_altura.grid(row=1, column=0, padx=5, pady=3)
# Entry de lectura de la altura
valor_altura = Entry(ventana, width=20)
valor_altura.grid(row=1,column=1)
# inserta valor inicial
valor_altura.insert(0, "0") 
# etiqueta de la entrada de la base
etiqueta_base = Label(ventana, text="Base")
etiqueta_base.grid(row=2, column=0, padx=5, pady=3)
#Pedir la base
valor_base = Entry(ventana, width=20)
valor_base.grid(row=2, column=1)
# inserta valor inicial
valor_base.insert(0,"0") 
notob_calcular = Button(ventana, text="Calcular área", width=20, command=calculoarea)
notob_calcular.grid(row=3, column=0, padx=5, pady=5)

Código realizar cálculos

Se inicializa la variable, para realizar la cálculo area = StringVar() . Cuando el usuario presione clic en el botón boton_calcular = Button(ventana, text="Calcular área", width=20, command=calculoarea). Dibuja la ventana.mainloop()

def calculoarea():  
    try:
        # lee el valor de la altura escrita por el usuario
        altura= valor_altura.get()
        # lee el valor del ángulo escrito por el usuario
        base = valor_base.get() 
        if float(altura)>0 and afloat(base>0):
            # cálcula el área
            calculo_area=float(base)*float(altura)/2
            # escribe el resultado en la eiqueta
            area.set("area: " + str(round(calculo_area,4)))  
        else:
            area.set("Los datos deben ser mayores que cero")
    except:
        area.set("Error al teclear datos")
 # asigna valor a la etiqueta
area = StringVar()
area.set("área: 0")    
calculo_area = Label(ventana, textvariable=area) # asocia etiqueta y variable de control
calculo_area.grid(row=4, column=0, padx=5, pady=5)
ventana.mainloop()

Código Completo

from tkinter import *
def calculoarea():  
    try:
        # lee el valor de la altura escrita por el usuario
        altura= valor_altura.get()
        # lee el valor del ángulo escrito por el usuario
        base = valor_base.get() 
        if float(altura)>0 and float(base)>0:
            # cálcula el área
            calculo_area=float(base)*float(altura)/2
            # escribe el resultado en la eiqueta
            area.set("area: " + str(round(calculo_area,4)))  
        else:
            area.set("Los datos deben ser mayores que cero")
    except:
        area.set("Error al teclear datos")


# creamos la ventana  
ventana = Tk() 
# damos título a la ventana
ventana.title("Mi primer Ejercicio")
# la hacemos de dimensiones fijas
ventana.resizable(False, False)
# ancho y alto de la ventana
ventana.geometry("450x250") 
# etiqueta del título del formulario (no de la ventana)
etiqueta_titulo = Label(ventana, text="Calcula el área de un triángulo")
etiqueta_titulo.grid(row=0, column=0, columnspan=2, padx=5, pady=3)
# etiqueta de la entrada de velocidad
etiqueta_altura = Label(ventana, text="Altura")
etiqueta_altura.grid(row=1, column=0, padx=5, pady=3)
# Entry de lectura de la altura
valor_altura = Entry(ventana, width=20)
valor_altura.grid(row=1,column=1)
# inserta valor inicial
valor_altura.insert(0, "0") 
# etiqueta de la entrada de la base
etiqueta_base = Label(ventana, text="Base")
etiqueta_base.grid(row=2, column=0, padx=5, pady=3)
#Pedir la base
valor_base = Entry(ventana, width=20)
valor_base.grid(row=2, column=1)
# inserta valor inicial
valor_base.insert(0,"0") 
boton_calcular = Button(ventana, text="Calcular área", width=20, command=calculoarea)
boton_calcular.grid(row=3, column=0, padx=5, pady=5)
# variable de control de la etiqueta
area = StringVar()
# asigna valor a la etiqueta
area.set("área: 0")    
calculo_area = Label(ventana, textvariable=area) # asocia etiqueta y variable de control
calculo_area.grid(row=4, column=0, padx=5, pady=5)
ventana.mainloop()