Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- try:
- from tkinter import *
- except:
- from Tkinter import *
- janela = Tk()
- janela.title("IMC Calculator")
- def Limpar():
- try:
- peso.delete(0, END)
- altura.delete(0, END)
- lbDivisao["text"] = ""
- defaultbg = janela.cget('bg')
- lbP1.configure(bg = defaultbg)
- lbP2.configure(bg = defaultbg)
- lbP3.configure(bg = defaultbg)
- lbP4.configure(bg = defaultbg)
- lbP5.configure(bg = defaultbg)
- lbP6.configure(bg = defaultbg)
- lbP7.configure(bg = defaultbg)
- except ValueError:
- pass
- def campo_vazio(peso, altura):
- if Entry.get(peso) == '' and Entry.get(altura) == '':
- return True
- else:
- return False
- def e_numero(peso, altura):
- if Entry.get(peso).replace(',', '', 1).isdigit() == True and \
- Entry.get(altura).replace(',', '', 1).isdigit() == True:
- return True
- else:
- return False
- def Calcular():
- cor = ['Aquamarine', 'MediumAquamarine', 'LightGreen', 'yellow', 'salmon',
- 'Tomato', 'red']
- if campo_vazio(peso, altura) == False and e_numero(peso, altura) == True:
- p = float(Entry.get(peso).replace(',', '.', 1))
- a = float(Entry.get(altura).replace(',', '.', 1))
- imc = float('%.2f' %(p / a**2))
- lbDivisao["text"] = str(imc).replace('.', ',', 1)
- if imc <= 17:
- lbP1["bg"] = cor[0]
- elif 17 < imc <=18.49:
- lbP2["bg"] = cor[1]
- elif 18.5 <= imc <=24.99:
- lbP3["bg"] = cor[2]
- elif 25 <= imc <=29.99:
- lbP4["bg"] = cor[3]
- elif 30 <= imc <= 34.99:
- lbP5["bg"] = cor[4]
- elif 35 <= imc <=39.99:
- lbP6["bg"] = cor[5]
- else:
- lbP7["bg"] = cor[6]
- lbP7["fg"] = cor[3]
- else:
- lbDivisao["text"] = "Campo(s) Vazio(s) ou fora do padrão!"
- if __name__ == "__main__":
- lbPeso = Label(janela, text="Peso: (Ex: 82,1)")
- lbPeso.place(x=50, y=40)
- lbAltura = Label(janela, text="Altura: (Ex: 1,72)")
- lbAltura.place(x=50, y=70)
- peso = Entry(janela)
- peso.place(x=145, y=40, width=185)
- peso.focus_set()
- altura = Entry(janela)
- altura.place(x=145, y=70, width=185)
- btCalcular = Button(janela, text="Calcular", width=7, command=Calcular)
- btCalcular.place(x=110, y=110)
- btLimpar = Button(janela, text="Limpar", width=7, command=Limpar)
- btLimpar.place(x=213, y=110)
- lbDivisao = Label(janela, text="", foreground="blue", font="-weight bold")
- lbDivisao.place(x=50, y=150)
- lbP1 = Label(janela, text="Abaixo de 17 - Muito abaixo do peso ideal")
- lbP1.place(x=50, y=180)
- lbP2 = Label(janela, text="Entre 17 e 18,49 - Abaixo do peso ideal")
- lbP2.place(x=50, y=200)
- lbP3 = Label(janela, text="Entre 18,5 e 24,99 - Peso normal")
- lbP3.place(x=50, y=220)
- lbP4 = Label(janela, text="Entre 25 e 29,99 - Acima do peso")
- lbP4.place(x=50, y=240)
- lbP5 = Label(janela, text="Entre 30 e 34,99 - Obesidade (nível I)")
- lbP5.place(x=50, y=260)
- lbP6 = Label(janela, text="Entre 35 e 39,99 - Obesidade severa (nível II)")
- lbP6.place(x=50, y=280)
- lbP7 = Label(janela, text="Acima de 39,99 - Obesidade mórbida (nível III)")
- lbP7.place(x=50, y=300)
- janela.geometry("390x340+200+200")
- janela.mainloop()
Add Comment
Please, Sign In to add comment