身体质量指数BMI:对身体质量的刻画(Body Mass Index)

国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析

定义:

  BMI=体重(kg)/身高^2(m2)

提出问题:

  实例:体重72kg 身高1.75m

  BMI值是23.5

这个值是否健康呢?

分类 国际BMI值(kg/m^2) 国内BMI值(kg/m^2)
偏瘦 <18.5 <18.5
正常 18.5-25 18.5-24
偏胖 25-30 24-28
肥胖 >=30 >=28

问题分析:

1、输入:给定体重和身高值

2、输出:BMI指标分类信息(国际和国内)

我们大概有两个思路:

思路1:分别计算给出国际和国内的BMI分类

思路2:混合计算并给出国际国内BMI分类

首先我们根据思路一编写如下代码

 1 #CalBMIv1.py
2 height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))
3 bmi = weight / pow(height, 2)
4 print("BMI 数值为:{:.2f}".format(bmi))
5 who = ""
6 if bmi < 18.5:
7 who = "偏瘦"
8 elif 18.5 <= bmi < 25:
9 who = "正常"
10 elif 25 <= bmi < 30:
11 who = "偏胖"
12 else:
13 who = "肥胖"
14 print("BMI 指标为:国际'{0}'".format(who))
 1 #CalBMIv2.py
2 height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: "))
3 bmi = weight / pow(height, 2)
4 print("BMI 数值为:{:.2f}".format(bmi))
5 nat = ""
6 if bmi < 18.5:
7 nat = "偏瘦"
8 elif 18.5 <= bmi < 24:
9 nat = "正常"
10 elif 24 <= bmi < 28:
11 nat = "偏胖"
12 else:
13 nat = "肥胖"
14 print("BMI 指标为:国内'{0}'".format(nat))

根据思路2,可以编写如下程序

 1 #CalBMIv3.py
2 height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))
3 bmi = weight / pow(height, 2)
4 print("BMI 数值为:{:.2f}".format(bmi))
5 who, nat = "", ""
6 if bmi < 18.5:
7 who, nat = "偏瘦", "偏瘦"
8 elif 18.5 <= bmi < 24:
9 who, nat = "正常", "正常"
10 elif 24 <= bmi < 25:
11 who, nat = "正常", "偏胖"
12 elif 25 <= bmi < 28:
13 who, nat = "偏胖", "偏胖"
14 elif 28 <= bmi < 30:
15 who, nat = "偏胖", "肥胖"
16 else:
17 who, nat = "肥胖", "肥胖"
18 print("BMI 指标为:国际'{0}', 国内'{1}'".format(who, nat))

大家可以动手试试

第九章 身体质量指数BMI的python实现的更多相关文章

  1. Python计算身体质量指数BMI

    使用Python计算身体质量指数BMI 运行结果如下: 源代码: 1 ''' 2 3. 利用函数思想,将"身体质量指数BMI"源程序封装成为一个函数并调用. 3 :param he ...

  2. 身体质量指数BMI

    Solution: 方法一:"Python语言程序设计"(中国大学MOOC平台)的答案 分析:对比两种指标,将共性(相同的区间)和异性(不同的区间)细分.这样两种指标的判断条件(不 ...

  3. 024 实例5-身体质量指数BMI

    目录 一."身体质量指数BMI"问题分析 1.1 身体质量指数BMI 1.2 问题需求 二."身体质量指数BMI"实例讲解 2.1 身体质量指标BMI 2.1. ...

  4. 《python for data analysis》第九章,数据聚合与分组运算

    # -*- coding:utf-8 -*-# <python for data analysis>第九章# 数据聚合与分组运算import pandas as pdimport nump ...

  5. python 教程 第九章、 类与面向对象

    第九章. 类与面向对象 1)    类 基本类/超类/父类被导出类或子类继承. Inheritance继承 Inheritance is based on attribute lookup in Py ...

  6. 第九章、python文件的两种用途

    目录 第九章.python文件的两种用途 一.用途 第九章.python文件的两种用途 一.用途 当前运行的文件(脚本) 被导入的文件(模块) # aaa.py x = 1 def f1(): pri ...

  7. 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile

      通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁 ...

  8. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...

  9. Python 数据分析—第九章 数据聚合与分组运算

    打算从后往前来做笔记 第九章 数据聚合与分组运算 分组 #生成数据,五行四列 df = pd.DataFrame({'key1':['a','a','b','b','a'], 'key2':['one ...

随机推荐

  1. Qt 设置中文

    1. 前言 在编写Qt应用程序时,有时会希望能直接设置中文字符串到界面,总结下其设置方法. 2. 设置中文 1)运行环境Qt5.5 VS2013 2)首先,查看需要设置中文的文件是否为UTF-8格式, ...

  2. GO汇编-函数

    GO汇编-函数 终于到函数了!因为Go汇编语言中,可以也建议通过Go语言来定义全局变量,那么剩下的也就是函数了.只有掌握了汇编函数的基本用法,才能真正算是Go汇编语言入门.本章将简单讨论Go汇编中函数 ...

  3. Python+Selenium学习笔记14 - python官网的tutorial - just() fill() format()

    repr(x).rjust(n)  左侧空格填充,右侧列对齐,str()和repr()是一种输出,也可不用,直接x.rjust() repr(x).ljust(n)  右侧空格填充,左侧列对齐 rep ...

  4. AIFramework框架Jittor特性(上)

    AIFramework框架Jittor特性(上)

  5. CUDA Pro:通过向量化内存访问提高性能

    CUDA Pro:通过向量化内存访问提高性能 许多CUDA内核受带宽限制,而新硬件中触发器与带宽的比率不断提高,导致带宽受限制的内核更多.这使得采取措施减轻代码中的带宽瓶颈非常重要.本文将展示如何在C ...

  6. Fine-Tuning微调原理

    Fine-Tuning微调原理 如何在只有60000张图片的Fashion-MNIST训练数据集中训练模型.ImageNet,这是学术界使用最广泛的大型图像数据集,它拥有1000多万幅图像和1000多 ...

  7. JMeter使用教程2——MySQL压测

    之前写过一篇JMeter使用教程,只是介绍了http请求的压力测试,想到MySQL的测试也挺必要的,于是写下这篇记录一下.如果不知道怎么下载和安装,可以看一下上一篇关于JMeter的文章,地址是:ht ...

  8. Bind DNS服务——基础知识

    Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...

  9. HR面试:过五关斩六将后,小心阴沟翻船!(史上最全、避坑宝典)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  10. Spring Cloud底层原理解析

    概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓 ...