Calculadora do IMC em Tkinter

Publicado por victor (última atualização em 21/05/2019)

[ Hits: 6.299 ]

Homepage: kkk

Download 6991.imc.py




Programa básico, que utiliza a formula do IMC na interface gráfica do Python.

  



Esconder código-fonte

# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
#
# -*- Calculadora do IMC -*-*-*-*-*-*-*-
#
# -*- Victor Hugo -*-*-*-*-*-*-*-*-*-*-*
#
# -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

from tkinter import *

class Application:
    def __init__(self, master=None):
        self.fonte1 = ("Arial"), ("10")

        self.espaço1 = Frame(master)
        self.espaço1["pady"] = 10
        self.espaço1.pack()

        self.espaço2 = Frame(master)
        self.espaço2["padx"] = 20
        self.espaço2.pack()

        self.espaço3 = Frame(master)
        self.espaço3["padx"] = 20
        self.espaço3.pack()

        self.espaço4 = Frame(master)
        self.espaço4["padx"] = 20
        self.espaço4.pack()

        self.espaço5 = Frame(master)
        self.espaço5["padx"] = 20
        self.espaço5.pack()

        self.espaço6 = Frame(master)
        self.espaço6["padx"] = 20
        self.espaço6.pack()

        self.nome = Label(self.espaço1, text="CALCULANDO SEU IMC")
        self.nome["font"] = ("Arial", "10", "bold")
        self.nome.pack()

        self.digitoLabel = Label(self.espaço2, text="PESO", font=self.fonte1)
        self.digitoLabel.pack(side=LEFT)

        self.digito = Entry(self.espaço2)
        self.digito["width"] = 30
        self.digito["font"] = self.fonte1
        self.digito.pack(side=LEFT)

        self.digito2Label = Label(self.espaço3, text="ALTURA", font=self.fonte1)
        self.digito2Label.pack(side=LEFT)

        self.digito2 = Entry(self.espaço3)
        self.digito2["width"] = 30
        self.digito2["font"] = self.fonte1
        self.digito2.pack(side=LEFT)

        #Desifindo a caixa de texto "IMC"
        self.imcLabel = Label(self.espaço4, text="IMC", font=self.fonte1)
        self.imcLabel.pack(side=LEFT)

        self.imcValor = Label(self.espaço5, text="", font=self.fonte1)
        self.imcValor.pack(side=RIGHT)

        #Definindo o botão
        self.calcular = Button(self.espaço6)
        self.calcular["text"] = "CALCULAR"
        self.calcular["font"] = ("Calibri", "8")
        self.calcular["width"] = 12
        self.calcular["command"] = self.calcula
        self.calcular.pack()


    #Calculando
    def calcula(self):
        peso = self.digito.get()
        altura = self.digito2.get()

        resp = (float(peso))/(float(altura)*float(altura))

        if peso:
            self.imcValor["text"] = resp

            

        

root = Tk()
Application(root)
root.mainloop()

        

Scripts recomendados

Calcular aproximação de raiz quadrada

Calcula quantos dias uma pessoa viveu

Modificação do Ubuntu Tweak para Debian

Compartilhe suas configurações gconf

Jogo da Velha com IA (Inteligencia Artificial)


  

Comentários
[1] Comentário enviado por madrugada em 26/05/2019 - 07:03h

Olá Victor! Muito boa a calculadora de IMC.
Fiz uma pequena alteração aqui, pois o programa não aceitava valores com vírgula, somente valores com ponto.

Onde é assim:
#Calculando
def calcula(self):
peso = self.digito.get()
altura = self.digito2.get()

Deixei assim:
#Calculando
def calcula(self):
peso = self.digito.get()
altura = self.digito2.get()
peso = peso.replace(",",".")
altura = altura.replace(",",".")

Dessa forma se alguém digitar valores com vírgula, o interpretador python troca por ponto antes de efetuar o cálculo.

Se preferir, pode implementar a correção aqui na página.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts