El programa Python contiene tres cuadros de texto en el formulario para obtener las edades de tres personas en años. Cuando el usuario hace clic en un botón, muestra la edad promedio en un cuadro de mensaje.
Tarea 2
Escribir un programa python
contener tres cuadros de texto en el formulario para obtener las edades de tres
personas en años. Cuando el usuario hace clic en un botón, muestra la edad
promedio en un cuadro de mensaje.
Compruebe el trabajo en vídeo:
Código completo del proyecto
anterior:
Explicación del código:
Este
es un programa de Python que crea una interfaz gráfica de usuario simple (GUI)
utilizando la biblioteca Tkinter. El programa permite al usuario ingresar las
edades de tres personas en años, y luego calcula la edad promedio cuando el
usuario hace clic en el botón "Calcular promedio".
Las
dos primeras líneas de código importan la biblioteca Tkinter y el módulo de
cuadro de mensajes de la biblioteca Tkinter. tkinter es un módulo
en Python que se utiliza para crear interfaces gráficas de usuario (GUI) utilizando
widgets como botones, etiquetas y cuadros de texto.
El
siguiente bloque de código define una función denominada calculate_average().
Esta función se llama cuando el usuario hace clic en el botón "Calcular
promedio". Dentro de la función, utiliza un bloque try-except para manejar
el caso en el que el usuario ingresa una entrada no válida. La función primero
obtiene los valores de los cuadros de texto usando el método get() de la clase Entry y
los convierte en enteros usando la función int(). A continuación, calcula la edad media utilizando una fórmula matemática
simple y muestra la edad media en un cuadro de mensaje utilizando el método showinfo() de la clase messagebox
.
El
siguiente bloque de código crea la ventana principal del programa usando la
clase Tk() de la biblioteca
Tkinter y establece el título de la ventana en "Calculadora de edad
promedio".
A
continuación, crea tres etiquetas, tres cuadros de texto y un botón mediante
las clases Tkinter Label, Entry y Button.
Las etiquetas se utilizan para guiar al usuario a introducir los datos, los
cuadros de texto se utilizan para tomar la entrada del usuario y el botón se
utiliza para activar la función calculate_average(). Se empaquetan usando el método pack() que los organiza en un orden de arriba a abajo.
Finalmente,
el programa entra en un bucle infinito usando root.mainloop(), lo que
permite que la GUI permanezca abierta y responda a la entrada del usuario.
Interfaz de calculadora usando Python
Para diseñar una interfaz
hermosa para una calculadora usando Python, podemos usar la biblioteca tkinter,
que proporciona un conjunto de herramientas para crear interfaces gráficas de
usuario (GUI) en Python.
Aquí hay un ejemplo de cómo podríamos usar tkinter para crear una interfaz de calculadora:
import tkinter as tk# Create the window
window = tk. Tk()window.title(
"Calculadora")
# Cree el campo de entrada para mostrar entrada
= tk. Entry(window, width=35, borderwidth=5, font=("Arial", 16)) entry.grid(row=0, column=0, columnspan=4, padx
= 10 , pady=10)
# Definir funciones para los clics de los botones
def button_click(número): current = entry.get() entry.delete(
0, tk. END) entry.insert(0, str(
current) + str(number))def button_clear(
): entry.delete(0,
tk. END)
def button_add(): first_number = entry.get() global f_num global
math math = "
addition" f_num =
float(
first_number) entry.delete(0
, tk. END)
def button_subtract(): first_number = entry.get() global f_num global
math math = "
subresta" f_num =
float(
first_number) entry.delete(0
, tk. END)
def button_multiply(): first_number = entry.get() global f_num
global math math = "
multiplication" f_num =
float(
first_number) entry.delete(0
, tk. END)
def button_divide(): first_number = entry.get() global f_num global
math math = "
division" f_num =
float(
first_number) entry.delete(0
, tk. END)
def button_equal(): second_number = entry.get() entry.delete(
0, tk. END)
if math == "addition": entry.insert(0, f_num + float(second_number)) elif math == "subrest"
: entry.insert(0, f_num -
float(second_number
)) elif math
== "multiplicación" : entry.insert(0, f_num
* float(second_number)) elif math == "division": entry.insert(
0,
f_num / float(second_number))
# Definir los botones
button_1 = tk. Button(window, text="1", padx=40, pady=20 , command=lambda:button_click(1))button_2 = tk. Button(window, text="2", padx=40, pady=20 , command=lambda:
button_click(2))button_3 = tk. Button(window, text="3", padx=40, pady=20 , command=lambda:
button_click(3))button_4 = tk. Button(window, text="4", padx=40, pady=20 , command=lambda:
button_click(4))button_5 = tk. Button(window, text="5", padx=40, pady=20 , command=lambda:
button_click(5))button_6 = CC.TT. Button(window, text="6", padx=40, pady=20 , command=lambda:
button_click(6))button_7 = tk. Button(window, text="7", padx=40, pady=20 , command=lambda:
button_click(7))button_8 = tk. Button(window, text="8", padx=40, pady=20 , command=lambda:
button_click(8))button_9 = tk. Button(window, text="9", padx=40, pady=20 , command=lambda:
button_click(9))button_0 = tk. Button(window, text="0", padx=40, pady=20 , command=lambda:
button_click(0))button_clear = tk. Button(window,
text="Clear", padx=80, pady=20 ,command=button_clear)button_add = tk. Button(window,
text="+", padx=39, pady=20 ,comando=button_add)
button_subtract = tk. Button(window, text="-", padx=41,
pady=20, comando=button_subtract)button_multiply = tk. Button(window,
text="*", padx=40,pady=20, command=button_multiply)button_divide = tk. Button(window,
text="/", padx=41,pady=20, comando=button_divide)button_equal = tk. Button(window,
text="=", padx=91,pady=20, comando=button_equal)
button_1.grid(row=3, column=0)button_2.grid(row=3, column=1)button_3.grid(row=3, column=2 )button_4.grid(row=2, column
=0)button_ 5.grid(row=2, column=1)button_6.grid(row=2, column=2)button_7.grid(row=1, column=0)button_8.grid(row
=1 , column=1 )button_9.grid(row=1, column=2)button_0.grid(row=4, column=0)button_clear.grid(row=4, column=
1 ,
columnspan=2)button_add.grid(
row=5, column=0)button_subtract.grid(row=6, column=0) button_multiply.grid(row=6 ,
column=1)button_divide.grid
(row=
6 , column=2)button_equal.grid(row=5, column=1
, columnspan=2)
Comenta tu tarea irritante para una solución rápida