1. 场景描述
BMI指数(身体质量指数,英文Body Mass Index)是用体重公斤数除以身高米数的平方得出的数字,是目前国际上通用的衡量人体胖瘦程度以及是否健康的一个标准。“身体质量指数”这个概念,是由19世纪中期的比利时数学家凯特勒最先提出来的,BMI指数的计算公式:
B M I = w e i g h t / h e i g h t 2 BMI = weight / height ^2 BMI=weight/height2
其中weight体重的度量单位是公斤,height身高的度量单位是米。
BMI指数的设计初衷是一个用于公共健康研究的统计工具。如果我们需要知道肥胖与某一疾病的致病原因是否相关时,就可以把病人的身高和体重换算为BMI值,再找出BMI值与病发率是否有线性关系。不过,随着医学科技的发展和进步,现在BMI值只是一个参考值,要检测一个人是否肥胖有了更加科学和先进的检测手段。因此BMI的角色也在慢慢地改变,从医学上的用途逐步变为一般大众的纤体指标。事实上,对于健康达人或者是普通的健身爱好者来说,BMI指数已经成为了衡量健身成效的重要标准。
接下来,我们使用Python来编写一个基于图形界面的BMI计算器。
2. 编程思路
2.1 计算公式
B M I = w e i g h t / h e i g h t 2 BMI = weight / height^2 BMI=weight/height2
2.2 判断标准
BMI 值中国标准含义如下:BMI <= 18.4 偏瘦;18.4 < BMI < 24 正常;24.0 <= BMI <28 过重; >= 28 肥胖。
2.3 健康建议
我们可以针对各种形体人群给出相关的健康建议。需要强调的是这些健康建议均取材于互联网,为编写程序的需要,仅供参考:
偏瘦:适度参加体育运动,特别是要多吃鱼、蛋和奶类等各类健康食品。
正常:注重适度运动,平衡的饮食结构,食物多样化,讲究粗细合理搭配。
超重:建议加强体育锻炼,注重食物搭配,特别是少吃高脂肪、高蛋白、含糖高食品,每天40分钟运动。
肥胖:加强体育锻炼,调整饮食结构,少吃或者不吃高脂肪、高蛋白、含糖量高食品,每天40分钟运动。
我们要把这些健康建议保存到文本文件suggestions.txt中,便于以后可以简单地使用Windows Notepad记事本程序就可以修改和完善这些健康建议。而不必修改Python源代码程序,实现数据与程序的分离。为了与我们的程序配套,这个文件保存时需要使用utf8的文件格式。
3. 代码编写
本程序由4个文件组成,它们是:
bmi.py :BMI计算器的图形界面程序。
bmi_base.py:BMI计算器的一些基础函数模块。
suggestions.txt:存放一些与形体相关的健康建议。
calculator.png:BMI计算器的图片文件。
bmi.py 模块的源代码程序
"""
bmi.py : BMI的前世今生
"""
from tkinter import *
import tkinter.messagebox as msg_box
from common.bmi_base import *
def calculate():
""" 计算 BMI值"""
try:
height = float</