第九章 身体质量指数BMI的python实现
身体质量指数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实现的更多相关文章
- Python计算身体质量指数BMI
使用Python计算身体质量指数BMI 运行结果如下: 源代码: 1 ''' 2 3. 利用函数思想,将"身体质量指数BMI"源程序封装成为一个函数并调用. 3 :param he ...
- 身体质量指数BMI
Solution: 方法一:"Python语言程序设计"(中国大学MOOC平台)的答案 分析:对比两种指标,将共性(相同的区间)和异性(不同的区间)细分.这样两种指标的判断条件(不 ...
- 024 实例5-身体质量指数BMI
目录 一."身体质量指数BMI"问题分析 1.1 身体质量指数BMI 1.2 问题需求 二."身体质量指数BMI"实例讲解 2.1 身体质量指标BMI 2.1. ...
- 《python for data analysis》第九章,数据聚合与分组运算
# -*- coding:utf-8 -*-# <python for data analysis>第九章# 数据聚合与分组运算import pandas as pdimport nump ...
- python 教程 第九章、 类与面向对象
第九章. 类与面向对象 1) 类 基本类/超类/父类被导出类或子类继承. Inheritance继承 Inheritance is based on attribute lookup in Py ...
- 第九章、python文件的两种用途
目录 第九章.python文件的两种用途 一.用途 第九章.python文件的两种用途 一.用途 当前运行的文件(脚本) 被导入的文件(模块) # aaa.py x = 1 def f1(): pri ...
- 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile
通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁 ...
- 第九章:Python高级编程-Python socket编程
第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...
- Python 数据分析—第九章 数据聚合与分组运算
打算从后往前来做笔记 第九章 数据聚合与分组运算 分组 #生成数据,五行四列 df = pd.DataFrame({'key1':['a','a','b','b','a'], 'key2':['one ...
随机推荐
- Qt 设置中文
1. 前言 在编写Qt应用程序时,有时会希望能直接设置中文字符串到界面,总结下其设置方法. 2. 设置中文 1)运行环境Qt5.5 VS2013 2)首先,查看需要设置中文的文件是否为UTF-8格式, ...
- GO汇编-函数
GO汇编-函数 终于到函数了!因为Go汇编语言中,可以也建议通过Go语言来定义全局变量,那么剩下的也就是函数了.只有掌握了汇编函数的基本用法,才能真正算是Go汇编语言入门.本章将简单讨论Go汇编中函数 ...
- Python+Selenium学习笔记14 - python官网的tutorial - just() fill() format()
repr(x).rjust(n) 左侧空格填充,右侧列对齐,str()和repr()是一种输出,也可不用,直接x.rjust() repr(x).ljust(n) 右侧空格填充,左侧列对齐 rep ...
- AIFramework框架Jittor特性(上)
AIFramework框架Jittor特性(上)
- CUDA Pro:通过向量化内存访问提高性能
CUDA Pro:通过向量化内存访问提高性能 许多CUDA内核受带宽限制,而新硬件中触发器与带宽的比率不断提高,导致带宽受限制的内核更多.这使得采取措施减轻代码中的带宽瓶颈非常重要.本文将展示如何在C ...
- Fine-Tuning微调原理
Fine-Tuning微调原理 如何在只有60000张图片的Fashion-MNIST训练数据集中训练模型.ImageNet,这是学术界使用最广泛的大型图像数据集,它拥有1000多万幅图像和1000多 ...
- JMeter使用教程2——MySQL压测
之前写过一篇JMeter使用教程,只是介绍了http请求的压力测试,想到MySQL的测试也挺必要的,于是写下这篇记录一下.如果不知道怎么下载和安装,可以看一下上一篇关于JMeter的文章,地址是:ht ...
- Bind DNS服务——基础知识
Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...
- HR面试:过五关斩六将后,小心阴沟翻船!(史上最全、避坑宝典)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- Spring Cloud底层原理解析
概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓 ...