Mundo em Python

Converter Binário para Decimal e Vice-Versa

from tkinter import *
from tkinter import ttk root=Tk()
class app():
def __init__(self):
self.root = root
self.janela()
self.frames_da_janela()
self.widgets_frame1()
self.Menus()
root.mainloop() def janela(self):
self.root.title("Converter Decimal para Binária e vice-versa")
self.root.configure(background='#1e3743')
self.root.geometry("500x350")
self.root.resizable(True, True)
def frames_da_janela(self):
self.frame_1 = Frame(self.root, bd=4, bg='#dfe3ee', highlightbackground='#759fe6', highlightthickness=2)
self.frame_1.place(relx=0.02, rely=0.02, relwidth=0.96, relheight=0.96)
def widgets_frame1(self):
self.abas = ttk.Notebook(self.frame_1)
self.C_d_b = Frame(self.abas)
self.C_b_d = Frame(self.abas)
self.C_d_b.configure(background="#dfe3ee")
self.C_b_d.configure(background="#dfe3ee")
self.abas.add(self.C_d_b, text="Decimal para Binária")
self.abas.add(self.C_b_d, text="Binária para Decimal ")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98)
# Decimal para Binária
self.lb_titulo1 = Label(self.C_d_b, text="Converter Decimal para Binário", bg='#dfe3ee',
fg='#107db2', font=("Arial", "15", "bold"))
self.lb_titulo1.place(relx=0.2, rely=0.05)
self.decimal = IntVar()
self.lb_decimal = Label(self.C_d_b, text="Número Decimal",bg='#dfe3ee', fg='#107db2',font=("Arial","14","bold"))
self.lb_decimal.place(relx=0.15, rely=0.25)
self.decimal_entry = Entry(self.C_d_b, textvariable=self.decimal, justify='center',font=("Arial", "12", "bold"))
self.decimal_entry.place(relx=0.5, rely=0.25, relwidth=0.35) self.bt_calcular1 = Button(self.C_d_b, text="Calcular", bd=2,bg='#107db2', fg='white',
font=('verdana',13, 'bold'),command=self.butaoclick1)
self.bt_calcular1.place(relx=0.45, rely=0.45, relwidth=0.35, relheight=0.15)
self.resultado_decimal = StringVar()
self.resultado1 = Label(self.C_d_b, textvariable=self.resultado_decimal)
self.resultado1.place(relx=0.55, rely=0.76, relwidth=0.35,relheight=0.15)
self.lb_resultado1 = Label(self.C_d_b, text="Número Binário: ",bg='#dfe3ee', fg='#107db2',font=("Arial",18,"bold"))
self.lb_resultado1.place(relx=0.05, rely=0.75) # Binária para Decimal

self.titulo2 = Label(self.C_b_d, text="Converter Binário para Decimal", bg='#dfe3ee',
fg='#107db2', font=("Arial", "15", "bold"))
self.titulo2.place(relx=0.2, rely=0.05)
self.Binária2 = IntVar()
self.lb_Binária2 = Label(self.C_b_d,text="Número Binário",bg='#dfe3ee', fg='#107db2',font=("Arial","14","bold"))
self.lb_Binária2.place(relx=0.15, rely=0.25)
self.Binária2_entry = Entry(self.C_b_d, textvariable=self.Binária2, justify='center',font=("Arial", "12", "bold"))
self.Binária2_entry.place(relx=0.5, rely=0.25, relwidth=0.35) # Butão de Calcular
self.bt_calcular2 = Button(self.C_b_d, text="Calcular", bd=2,bg='#107db2', fg='white',
font=('verdana',13, 'bold'),command=self.butaoclick2)
self.bt_calcular2.place(relx=0.45, rely=0.45, relwidth=0.35, relheight=0.15)
self.resultado_binario = StringVar()
self.resultado2 = Label(self.C_b_d, textvariable=self.resultado_binario)
self.resultado2.place(relx=0.55, rely=0.76, relwidth=0.35,relheight=0.15)
self.lb_resultado2 = Label(self.C_b_d, text="Número Decimal",bg='#dfe3ee', fg='#107db2',font=("Arial",18,"bold"))
self.lb_resultado2.place(relx=0.05, rely=0.75)
def butaoclick1(self):
a = self.decimal.get()
binary = ""
while a > 0:
remainder = a % 2
binary = str(remainder) + binary
a //= 2
if binary == "":
binary = "0"
return self.resultado_decimal.set(binary)
def butaoclick2(self):
b = str(self.Binária2.get()) # Converter o valor para uma string
decimal_value = 0
power = 0
for bit in reversed(b):
if bit == '1':
decimal_value += 2 ** power
power += 1
self.resultado_binario.set(decimal_value)
def Quit(self):
self.root.destroy()
def Menus(self):
menubar = Menu(self.root)
self.root.config(menu=menubar)
filemenu = Menu(menubar)
menubar.add_cascade(label="Opções", menu=filemenu)
filemenu.add_command(label="Sair", command=self.Quit)
app()

# Outra Versão


import time
escolha=True
while escolha:
print("\n")
print("Converter Decimal em Binário e vice-versa")
print("""
1. Converter Decimal em Binário
2. Converter Binário em Decimal
8.Exit/Quit/Saída
""")
escolha= input("Escolha uma opção: ")
if escolha=="1":
numero_decimal = int(input("Digite o número decimal: "))
binario_numero_converter = bin(numero_decimal)
print(" Número Decimal Número Binário ")
print(f" {numero_decimal} {binario_numero_converter} ")
time.sleep(2)
elif escolha=="2":
numero_binario = int(input("Digite o número binário: "))
b = str(numero_binario) # Converter o valor para uma string
decimal_value = 0
power = 0
for bit in reversed(b):
if bit == '1':
decimal_value += 2 ** power
power += 1
print(" Número Binário Número Decimal ")
print(f" {numero_binario} {decimal_value} ")
time.sleep(2)
elif escolha=="0":
print("\n Adeus")
escolha = None
else:
print("\n Escolha não válida.\n Tente outra vez.")
0