Calculadora do IMC em Tkinter

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

[ Hits: 6.279 ]

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

Utilitário para cálculos

Gerador de cartão de crédito com Tkinter

Verificador de números primos

Herança em Python

Exercício com números randômicos - randint


  

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