Proyecto que calcula el índice de Masa corporal
El siguiente programa pide 2 valores, el peso y la altura de una persona(2 Entry) después evalua mediante un if, elif, si el imc de una persona es normal, bajo o alto(obesidad)
Utilizando la variable altura en éste caso en flotante ya que al ingresar por ejemplo una altura de 1.78 metros es necesario usar los decimales también.
El peso lo manejamos de tipo entero.
Al dar click al botón de calcular imc muestra un MenssageBox, informando que imc tiene y si es necesario o no atención médica.
Utilizando la variable altura en éste caso en flotante ya que al ingresar por ejemplo una altura de 1.78 metros es necesario usar los decimales también.
El peso lo manejamos de tipo entero.
Al dar click al botón de calcular imc muestra un MenssageBox, informando que imc tiene y si es necesario o no atención médica.
# -*- coding: utf-8 -*-
import sys
import Tkinter as tk
from Tkinter import *
import tkMessageBox
def imc():
num1 = int(entrada_peso.get())
num2 = float(entrada_altura.get())
imc = (num1 / (num2*num2))
if imc == 0 or imc < 18:
tkMessageBox.showinfo("Resultado", "Peso bajo. Necesario valorar signos de desnutrición")
elif imc == 18 or imc < 25:
tkMessageBox.showinfo("Resultado", "Usted tiene un peso normal, mantengalo así ;)")
elif imc == 25 or imc < 27:
tkMessageBox.showinfo("Resultado", "Usted padece sobrepeso, acuda a un doctor")
elif imc == 27 or imc < 30:
tkMessageBox.showinfo("Resultado", "Usted padece obesidad grado I")
elif imc == 30 or imc < 40:
tkMessageBox.showinfo("Resultado", "Usted padece de obesidad grado II")
else:
tkMessageBox.showinfo("Resultado", "Usted padece de obesidad morbida")
ventana=Tk()
ventana.title("Calculo de IMC")
ventana.geometry("600x250")
ventana.config(bg="gainsboro")
vp = Frame(ventana)
vp.grid(column=0, row=0, padx=(50, 50), pady=(10, 10)) #para posicionar cualquier objetovp.columnconfigure(0, weight=1)
vp.rowconfigure(0, weight=1)
peso = IntVar()
altura = float()
etiqueta_peso = Label(ventana, text='Dame el peso(kg):')
etiqueta_peso.grid(row=1, column=1, padx=(10, 10), pady=(10, 10), sticky=E)
entrada_peso = Entry(ventana, textvariable=peso)
entrada_peso.grid(row=1, column=2, padx=(10, 10), pady=(10, 10), sticky=E)
etiqueta_altura = Label(ventana, text='Dame la altura(mts): ')
etiqueta_altura.grid(row=2, column=1, padx=(10, 10), pady=(10, 10), sticky=E)
entrada_altura = Entry(ventana, textvariable=altura)
entrada_altura.grid(row=2, column=2, padx=(5, 10), pady=(10, 10), sticky=E)
bconv = Button(ventana, bg='LightGreen', fg='white', text='Calcular Índice de Masa Corporal', width=30, height=1, command=imc)
bconv.grid(row=4, column=2, padx=(10, 10), pady=(10, 10))
ventana.mainloop()
Mas o menos la corrida quedaría así:
Comentarios
Publicar un comentario