Código de Python - Calculadora

Imágen de perfil

Calculadoragráfica de visualizaciones


Python

Publicado el 23 de Diciembre del 2023 por Manuel (12 códigos)
266 visualizaciones desde el 23 de Diciembre del 2023
Calculadora que realiza las operaciones básicas y además permite cambiar entre los modos de binario, hexadecimal, decimal y octal.

3.11

Publicado el 23 de Diciembre del 2023gráfica de visualizaciones de la versión: 3.11
267 visualizaciones desde el 23 de Diciembre del 2023
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
'''
Autor: Manuel Míguez Liméns
Fecha: 23/12/2023
Título: Calculadora
'''
 
# Importamos las librerías que vamos a necesitar.
 
import tkinter as tk
from tkinter import messagebox
import math
 
# Creamos la función calcular
 
def calculate():
    try:
        expression = entry.get()
        result = eval(expression)
        entry.delete(0, tk.END)
        entry.insert(tk.END, str(result))
    except Exception as e:
        messagebox.showerror("Error", "Entrada inválida")
 
# Creamos la función borrar
 
def clear():
    entry.delete(0, tk.END)
 
# Creamos la función insertar texto
 
def insert_text(text):
    entry.insert(tk.END, text)
 
# Creamos la función que nos permitirá convertir a binario
 
def convert_to_binary():
    try:
        num = float(entry.get())
        binary = bin(int(num))
        entry.delete(0, tk.END)
        entry.insert(tk.END, binary)
    except Exception as e:
        messagebox.showerror("Error", "No se puede convertir a binario")
 
# Creamos la función que nos permitirá convertir a hexadecimal
 
def convert_to_hex():
    try:
        num = float(entry.get())
        hex_num = hex(int(num))
        entry.delete(0, tk.END)
        entry.insert(tk.END, hex_num)
    except Exception as e:
        messagebox.showerror("Error", "No se puede convertir a hexadecimal")
 
# Creamos la función que nos permitirá convertir a octal
 
def convert_to_octal():
    try:
        num = float(entry.get())
        octal = oct(int(num))
        entry.delete(0, tk.END)
        entry.insert(tk.END, octal)
    except Exception as e:
        messagebox.showerror("Error", "No se puede convertir a octal")
 
# Crear la ventana principal
root = tk.Tk()
root.title("Calculadora")
 
# Entrada
entry = tk.Entry(root, width=40, borderwidth=5)
entry.grid(row=0, column=0, columnspan=4, padx=10, pady=10)
 
# Botones
buttons = [
    ("7", "8", "9", "/"),
    ("4", "5", "6", "*"),
    ("1", "2", "3", "-"),
    ("0", ".", "%", "+"),
    ("(", ")", "bin", "C"),
    ("Hex", "Oct", "e", "=")
]
 
row_num = 1
col_num = 0
 
for row in buttons:
    for button_text in row:
        if button_text == "=":
            btn = tk.Button(root, text=button_text, padx=40, pady=20, command=calculate)
        elif button_text == "C":
            btn = tk.Button(root, text=button_text, padx=40, pady=20, command=clear)
        elif button_text == "bin":
            btn = tk.Button(root, text=button_text, padx=40, pady=20, command=convert_to_binary)
        elif button_text == "Hex":
            btn = tk.Button(root, text=button_text, padx=40, pady=20, command=convert_to_hex)
        elif button_text == "Oct":
            btn = tk.Button(root, text=button_text, padx=40, pady=20, command=convert_to_octal)
        else:
            btn = tk.Button(root, text=button_text, padx=40, pady=20, command=lambda text=button_text: insert_text(text))
 
        btn.grid(row=row_num, column=col_num, padx=5, pady=5)
        col_num += 1
    row_num += 1
    col_num = 0
 
root.mainloop()



Comentarios sobre la versión: 3.11 (0)


No hay comentarios
 

Comentar la versión: 3.11

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7472