Calculadora.txt

import tkinter as tk

Funciones de operaciones

def agregar_numero(num):
entrada_var.set(entrada_var.get() + str(num))

def limpiar():
entrada_var.set(“”)

def calcular():
try:
resultado = eval(entrada_var.get())
entrada_var.set(str(resultado))
except Exception as e:
entrada_var.set(“Error”)

Crear ventana principal

ventana = tk.Tk()
ventana.title(“Calculadora Avanzada”)

Variable para la entrada

entrada_var = tk.StringVar()

Campo de entrada

entrada = tk.Entry(ventana, textvariable=entrada_var, font=(“Arial”, 20), bd=10, relief=“sunken”, width=15, justify=“right”)
entrada.grid(row=0, column=0, columnspan=4, padx=10, pady=10)

Botones numéricos y operaciones

botones = [
(‘7’, 1, 0), (‘8’, 1, 1), (‘9’, 1, 2), (‘/’, 1, 3),
(‘4’, 2, 0), (‘5’, 2, 1), (‘6’, 2, 2), (‘*’, 2, 3),
(‘1’, 3, 0), (‘2’, 3, 1), (‘3’, 3, 2), (‘-’, 3, 3),
(‘0’, 4, 0), (‘.’, 4, 1), (‘+’, 4, 2), (‘=’, 4, 3),
]

Crear botones y agregar funciones

for (texto, fila, col) in botones:
if texto == “=”:
boton = tk.Button(ventana, text=texto, font=(“Arial”, 20), width=5, height=2, command=calcular)
else:
boton = tk.Button(ventana, text=texto, font=(“Arial”, 20), width=5, height=2, command=lambda num=texto: agregar_numero(num))
boton.grid(row=fila, column=col, padx=5, pady=5)

Botón de limpiar

btn_limpiar = tk.Button(ventana, text=“C”, font=(“Arial”, 20), width=5, height=2, command=limpiar)
btn_limpiar.grid(row=5, column=0, padx=5, pady=5, columnspan=4)

Iniciar la ventana

ventana.mainloop()

import tkinter as tk

Funciones para las operaciones

def sumar():
try:
resultado.set(float(entrada1.get()) + float(entrada2.get()))
except ValueError:
resultado.set(“Error”)

def restar():
try:
resultado.set(float(entrada1.get()) - float(entrada2.get()))
except ValueError:
resultado.set(“Error”)

def dividir():
try:
num1 = float(entrada1.get())
num2 = float(entrada2.get())
if num2 != 0:
resultado.set(num1 / num2)
else:
resultado.set(“Error: División por 0”)
except ValueError:
resultado.set(“Error”)

Crear la ventana principal

ventana = tk.Tk()
ventana.title(“Calculadora”)

Variables de entrada

entrada1 = tk.Entry(ventana, width=10)
entrada1.grid(row=0, column=0, padx=10, pady=10)

entrada2 = tk.Entry(ventana, width=10)
entrada2.grid(row=0, column=2, padx=10, pady=10)

Etiqueta para el resultado

resultado = tk.StringVar()
resultado.set(“Resultado”)
etiqueta_resultado = tk.Label(ventana, textvariable=resultado)
etiqueta_resultado.grid(row=1, column=1, padx=10, pady=10)

Botones de operaciones

btn_sumar = tk.Button(ventana, text=“+”, width=5, command=sumar)
btn_sumar.grid(row=2, column=0, padx=10, pady=10)

btn_restar = tk.Button(ventana, text=“-”, width=5, command=restar)
btn_restar.grid(row=2, column=1, padx=10, pady=10)

btn_dividir = tk.Button(ventana, text=“/”, width=5, command=dividir)
btn_dividir.grid(row=2, column=2, padx=10, pady=10)

Iniciar el bucle principal

ventana.mainloop()