from calculadora import Calculadora c = Calculadora(50, 10, '/') c.calcular()
class Aplicacion(): def __init__(self): self.dollar_saver = Save_dollar() dollars = get_dollars() self.dolar_blue = dollars['blue'] self.dolar_oficial = dollars['oficial'] self.calculadora = Calculadora(self.dolar_blue, self.dolar_oficial) self.raiz = Tk() self.raiz.geometry('600x400') #defino la fuente fuente = font.Font(weight='bold') self.etiq1 = ttk.Label(self.raiz, text="Dolar Oficial:", font=fuente) self.cantidad = StringVar() self.ctext1 = ttk.Entry(self.raiz, textvariable=self.cantidad, width=10) self.dolarToConvert = StringVar() self.convertDolar = ttk.Entry(self.raiz, textvariable=self.dolarToConvert) # Impide que los bordes puedan desplazarse para # ampliar o reducir el tamaño de la ventana 'self.raiz': self.raiz.resizable(width=False, height=False) self.raiz.title('Ver info') # Define el widget Text 'self.tinfo ' en el que se # pueden introducir varias líneas de texto: self.tinfo = Text(self.raiz, width=70, height=10) # Sitúa la caja de texto 'self.tinfo' en la parte # superior de la ventana 'self.raiz': self.tinfo.pack(side=TOP) self.ctext1.pack(side=TOP, fill=X, expand=False, padx=5, pady=5) self.boton_cal_dollar = ttk.Button(self.raiz, text='calc Dollar', command=self.calc_dollar) self.boton_cal_dollar.pack(side=TOP) self.convertDolar.pack(side=TOP, fill=X, expand=False, padx=5, pady=5) self.convert_dollar_button = ttk.Button(self.raiz, text='convertir', command=self.convert_dollar) self.convert_dollar_button.pack(side=TOP) # Define el widget Button 'self.binfo' que llamará # al metodo 'self.verinfo' cuando sea presionado self.bhistoric = ttk.Button(self.raiz, text='Historico', command=self.dol_historic) # Coloca el botón 'self.binfo' debajo y a la izquierda # del widget anterior self.bhistoric.pack(side=LEFT) self.save_today_dollar = ttk.Button(self.raiz, text='save Dollar', command=self.save_dollar) self.save_today_dollar.pack(side=LEFT) #dolar ahora self.save_today_dollar = ttk.Button(self.raiz, text='Dollar now', command=self.dollar_now) self.save_today_dollar.pack(side=LEFT) #test #self.save_today_dollar = ttk.Button(self.raiz,text='test',command=self.create_test) #self.save_today_dollar.pack(side=LEFT) # Define el botón 'self.bsalir'. En este caso # cuando sea presionado, el método destruirá o # terminará la aplicación-ventana 'self.raíz' con # 'self.raiz.destroy' self.bsalir = ttk.Button(self.raiz, text='Salir', command=self.raiz.destroy) # Coloca el botón 'self.bsalir' a la derecha del # objeto anterior. self.bsalir.pack(side=LEFT) # El foco de la aplicación se sitúa en el botón # 'self.binfo' resaltando su borde. Si se presiona # la barra espaciadora el botón que tiene el foco # será pulsado. El foco puede cambiar de un widget # a otro con la tecla tabulador [tab] self.bhistoric.focus_set() self.raiz.mainloop() def fill_textbox(self, data): self.tinfo.delete(1.0, END) self.tinfo.insert(1.0, str(data)) def convert_dollar(self): toConvert = float(self.convertDolar.get()) toConvert = (self.dolar_oficial.price * float(1.3)) * toConvert self.fill_textbox("Son pesos: " + str(round(toConvert, 3))) #self.fill_textbox(toConvert) def calc_dollar(self): dolar_billete = self.ctext1.get() final = self.calculadora.calcular(float(dolar_billete)) final = 'Pagas en blue \n' + str(final) self.fill_textbox(final) def dol_historic(self): lista_dollar = self.dollar_saver.read_all() text = '' for dollar in lista_dollar: text += dollar.name + ': ' + str(dollar.price) + ', fecha: ' + str( dollar.date) text += '\n' self.fill_textbox(text) def save_dollar(self): self.dollar_now() allhistoric = self.dollar_saver.read_all() try: last_dollar_saved = allhistoric[len(allhistoric) - 1] if last_dollar_saved is not None: if self.dolar_blue.date > last_dollar_saved.date: self.dollar_saver.append_dollar(self.dolar_blue) self.fill_textbox('new dollar saved') else: #equals or less if last_dollar_saved.price != self.dolar_blue.price: print('sobre escribo el ultimo registro') self.fill_textbox('sobre escribo el ultimo registro') self.dollar_saver.update_last_one(self.dolar_blue) else: print('same price not update') self.fill_textbox('same price not update') else: self.dollar_saver.append_dollar(self.dolar_blue) except Exception: traceback.print_exc(file=sys.stdout) print('exception') self.fill_textbox('not rebasing') self.dollar_saver.save_dollar(self.dolar_blue) def dollar_now(self): dollars = get_dollars() self.dolar_blue = dollars['blue'] self.dolar_oficial = dollars['oficial'] text = 'dolar now:\n' text = text + dollars['blue'].name + ': ' + str( dollars['blue'].price) + '\n' text = text + dollars['oficial'].name + ': ' + str( dollars['oficial'].price) self.fill_textbox(text) def create_test(self): aDate = datetime.date(2019, 6, 15) dolar1 = Dollar('dolar a', '120.0', aDate) aDate2 = datetime.date(2019, 6, 16) dolar2 = Dollar('dolar b', '122.0', aDate2) self.dollar_saver.append_dollar(dolar1) self.dollar_saver.append_dollar(dolar2)
def calcular_compra_dolar(): calculadora = Calculadora(dolar_blue, dolar_oficial) print('ingrese cantidad de dolar oficial') dolar_billete = float(input()) calculadora.calcular(dolar_billete)