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)
509 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
510 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

http://lwp-l.com/s7472