crea el codigo de las principales 4 funcines de una calculadora pero utilizando una interfas
Aquí te muestro un ejemplo de cómo crear una calculadora básica en Python utilizando una interfaz gráfica con las 4 principales funciones: suma, resta, multiplicación y división. ```python import tkinter as tk class Calculadora: def __init__(self): self.root = tk.Tk() self.root.title("Calculadora") # Crear etiquetas y campos de texto self.etiqueta_resultado = tk.Label(self.root, text="Resultado:") self.etiqueta_resultado.grid(row=0, column=0, columnspan=4) self.etiqueta_numero1 = tk.Label(self.root, text="Número 1:") self.etiqueta_numero1.grid(row=1, column=0) self.etiqueta_numero2 = tk.Label(self.root, text="Número 2:") self.etiqueta_numero2.grid(row=2, column=0) self.campo_numero1 = tk.Entry(self.root) self.campo_numero1.grid(row=1, column=1) self.campo_numero2 = tk.Entry(self.root) self.campo_numero2.grid(row=2, column=1) self.etiqueta_operador = tk.Label(self.root, text="Operador:") self.etiqueta_operador.grid(row=3, column=0) self.campo_operador = tk.Entry(self.root) self.campo_operador.grid(row=3, column=1) # Crear botones self.boton_suma = tk.Button(self.root, text="+", command=self.suma) self.boton_suma.grid(row=4, column=0) self.boton_resta = tk.Button(self.root, text="-", command=self.resta) self.boton_resta.grid(row=4, column=1) self.boton_multiplicacion = tk.Button(self.root, text="*", command=self.multiplicacion) self.boton_multiplicacion.grid(row=4, column=2) self.boton_division = tk.Button(self.root, text="/", command=self.division) self.boton_division.grid(row=4, column=3) self.boton_calcular = tk.Button(self.root, text="Calcular", command=self.calcular) self.boton_calcular.grid(row=5, column=0, columnspan=4) self.etiqueta_resultado_final = tk.Label(self.root, text="") self.etiqueta_resultado_final.grid(row=6, column=0, columnspan=4) def suma(self): try: numero1 = float(self.campo_numero1.get()) numero2 = float(self.campo_numero2.get()) resultado = numero1 + numero2 self.etiqueta_resultado_final.config(text=str(resultado)) except ValueError: self.etiqueta_resultado_final.config(text="Error: Ingresa números válidos") def resta(self): try: numero1 = float(self.campo_numero1.get()) numero2 = float(self.campo_numero2.get()) resultado = numero1 - numero2 self.etiqueta_resultado_final.config(text=str(resultado)) except ValueError: self.etiqueta_resultado_final.config(text="Error: Ingresa números válidos") def multiplicacion(self): try: numero1 = float(self.campo_numero1.get()) numero2 = float(self.campo_numero2.get()) resultado = numero1 * numero2 self.etiqueta_resultado_final.config(text=str(resultado)) except ValueError: self.etiqueta_resultado_final.config(text="Error: Ingresa números válidos") def division(self): try: numero1 = float(self.campo_numero1.get()) numero2 = float(self.campo_numero2.get()) if numero2 != 0: resultado = numero1 / numero2 self.etiqueta_resultado_final.config(text=str(resultado)) else: self.etiqueta_resultado_final.config(text="Error: No se puede dividir por cero") except ValueError: self.etiqueta_resultado_final.config(text="Error: Ingresa números válidos") def calcular(self): try: numero1 = float(self.campo_numero1.get()) numero2 = float(self.campo_numero2.get()) operador = self.campo_operador.get() if operador == "+": resultado = numero1 + numero2 elif operador == "-": resultado = numero1 - numero2 elif operador == "*": resultado = numero1 * numero2 elif operador == "/": if numero2 != 0: resultado = numero1 / numero2 else: self.etiqueta_resultado_final.config(text="Error: No se puede dividir por cero") else: self.etiqueta_resultado_final.config(text="Error: Operador inválido") self.etiqueta_resultado_final.config(text=str(resultado)) except ValueError: self.etiqueta_resultado_final.config(text="Error: Ingresa números válidos") def run(self): self.root.mainloop() if __name__ == "__main__": calculadora = Calculadora() calculadora.run() ``` Este código crea una ventana con campos de texto para ingresar los números y el operador, y botones para realizar las operaciones básicas. Cuando se hace clic en el botón "Calcular", se realiza la operación correspondiente y se muestra el resultado en la etiqueta "Resultado final". Si se ingresa un valor inválido, se muestra un mensaje de error.