from Tkinter import * f = Frame() sf1 = Frame(f) # Linha 1 sf2 = Frame(f) # Linha 2 sf3 = Frame(f) # Linha 3 sf4 = Frame(f) # Linha 4 for sf in [sf1, sf2, sf3, sf4]: sf.pack() # Linha 1 l1 = Label(sf1) l1["text"] = "Linha 1" l1.pack() # Linha 2 l2 = Label(sf2) l2["text"] = "Linha 2" ct1 = Entry(sf2) l2.pack(side = "left") ct1.pack(side = "left") # Linha 3 l3 = Label(sf3) l3["text"] = "Linha 3" ct2 = Entry(sf3) l3.pack(side = "left") ct2.pack(side = "left") # Linha 4 b1 = Button(sf4) b1["text"] = "Botao 1" b2 = Button(sf4) b2["text"] = "Botao 2" b1.pack(side = "left") b2.pack(side = "left") for ctrl in [l1, l2, l3, ct1, ct2, b1, b2]: ctrl["font"] = "Arial 20" f.pack() mainloop()
from datetime import date def hoje(): return str(date.today()) class Conta: def __init__(self, numero, nome, saldo = 0, lancamentos = []): self.numero = numero self.correntista = nome self.saldo = saldo self.lancamentos = lancamentos def __repr__(self): return "Conta(%s,%s,%s,%s)" % (repr(self.numero),\ repr(self.correntista),\ repr(self.saldo),\ repr(self.lancamentos)) def alterarNome(self, nome): self.correntista = nome salva_contas(contas) def deposito(self, valor, msg = "deposito"): self.lancamentos.append((hoje(), msg, valor)) self.saldo = self.saldo + valor salva_contas(contas) def saque(self, valor, msg = "saque"): self.lancamentos.append((hoje(), msg, -valor)) self.saldo = self.saldo - valor salva_contas(contas) def transferencia(self, outra, valor): self.saque(valor, "transferencia para %s" % outra.numero) outra.deposito(valor, "transferencia de %s" % self.numero) def extrato(self, data): linhas = [] saldo = self.saldo i = len(self.lancamentos) - 1 while i >= 0 and self.lancamentos[i][0] >= data: saldo = saldo - self.lancamentos[i][2] i = i - 1 i = i + 1 while i < len(self.lancamentos): datalanc, desc, val = self.lancamentos[i] saldo = saldo + val linhas.append("%s %-34s%10.2f%10.2f" % (datalanc, desc, val, saldo)) i = i + 1 return linhas def salva_contas(contas, arq = "contas.repr"): f = open(arq, "w+") try: f.write(repr(contas)) finally: f.close() def le_contas(arq = "contas.repr"): f = open(arq) cs = None try: cs = eval(f.read()) finally: f.close() return cs try: contas = le_contas() except IOError: contas = eval("""\ {'768': Conta('768','Cicrano',70,\ [('2011-05-01', 'abertura', 70)]), '123': Conta('123','Fulano',90.0,\ [('2011-04-20', 'abertura', 100),\ ('2011-05-10', 'saque', -30),\ ('2011-05-15', 'deposito', 20),\ ('2011-05-29', 'transferencia para 456', -50),\ ('2011-05-30', 'deposito', 50.0)]),\ '456': Conta('456','Beltrano',100,\ [('2011-04-12', 'abertura', 50),\ ('2011-05-29', 'transferencia de 123', 50)])}\ """)