Python实现 身体质量指数BMI的计算(嵩天老师)

2023-10-30

示例5:身体质量指数BMI

BMI的定义

-BMI:国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析
-定义:BMI=体重(kg)/身高*身高(m*m)
 

身体质量指数标准

 思路方法:

-难点在于同时输出国际和国内对应的分类
-思路1:分别计算并给出国际和国内BMI分类
-思路2:混合计算并给出国际和国内BMI分类

直接上混合代码:

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

逐行分析:

#CalBMIv1.py
注释,不执行
height,weight=eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))
在控制台提示并要求用户要输入身高和体重
bmi=weight/pow(height,2)
根据定义,求bmi的值
print("BMI数值为:{:.2f}".format(bmi))
输出bmi的值
who,nat="",""
定义两个字符串变量
if bmi < 18.5:
    who,nat="偏瘦","偏瘦"
elif 18.5 <= bmi < 24:
    who,nat="正常","正常"
elif 24 <= bmi < 25:
    who,nat="正常","偏胖"
elif 25 <= bmi < 28:
    who,nat="偏胖","偏胖"
elif 28 <= bmi < 30:
    who,nat="偏胖","肥胖"
else:
    who,nat="肥胖","肥胖"

根据国际和国内标准定义if,else语句的执行效果
print("BMI 指标为:国际'{0}',国内'{1}'".format(who,nat))
输出国际国内的BMI判断后的结果
 

举一反三

-多分支条件之间的覆盖是重要问题,是此程序研究重点
-程序可运行,但结果不正确,要注意多分支的逻辑顺序
-分支结构是程序的重要框架,读程序先看分支,理清逻辑再逐行分析程序意图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python实现 身体质量指数BMI的计算(嵩天老师) 的相关文章

  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 在循环中每次迭代开始时将变量重新分配给原始值(在循环之前定义)

    在Python中 你使用 在每次迭代开始时将变量重新分配给原始值 在循环之前定义 时 也就是说 original 1D o o o for i in range 0 3 new original 1D revert back to orig
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • NOIP2016初赛总结(提高组)

    题目 https www zhihu com question 51865837 answer 127892121 注 我是HE的 不是JS的 照片是ZYJ神犇的 单选 一 单项选择题 共15 题 每题1 5 分 共计22 5 分 每题有且
  • ES索引库的别名的强大功能

    ES 的别名不停服切换索引 线上发布 场景 我们现在线上正在使用 ES索引库 V 没有使用ES索引库别名 两个问题 现在由于字段更新 把线上的数据重新写入了V1库 现在如何在不断服的情况下 完美的实现 从V 切换到V1 索引库 后续如果再次
  • 基于Matlab实现帧间差分法的运动目标检测(附上完整源码+图像+程序运行说明)

    帧间差分法是一种常用的运动目标检测方法 可以通过对连续帧之间的差异进行分析来确定目标的运动情况 在本文中 我们将介绍如何使用Matlab实现帧间差分法的运动目标检测 文章目录 部分源码 完整源码 图像 程序运行说明下载 部分源码 首先 我们
  • 离线安装npm包

    1 先在联网机器上下载安装npm bundle和http server 以管理员身份运行打开cmd 然后npm install npm bundle 或者 cnpm install npm bundle npm install http s
  • Springboot 封装Fastdfs 功能模块

    整体项目结构 第一步 BuleSky 的pom xml 文件
  • android apk应用系统集成编译错误问题

    在系统源码中添加一个APK源码目录 并写了相应的android mk文件 编译时出错如下 make No rule to make target out target common obj JAVA LIBRARIES liba71S in
  • ServletRequest和HttpServletRequest为什么可以强制转换

    ServletRequest强制转换为HttpServletRequest为什么没报错呢 先看一下普通转换 1 父类对象强转成子类 出错ClassCastException Father f new Father Son s Son f 2
  • 插入排序的递归算法

    一 算法思想 由插入排序的基本思想可以得到它的递归算法 确定前面的数是已经排好序了的 从当前数开始 依次一个个的插入到前面的数中 二 代码 插入排序的递归算法 void insert vector
  • 【C++】multiset用法

    转自 https blog csdn net sodacoco article details 84798621 c 语言中 multiset是
  • 【Clipping input data to the .... for integers).】的解决办法

    Clipping input data to the for integers 的解决办法 参考资料 https www freesion com article 7534157435 在用matplotlib pyplot显示输入图像时
  • 磁盘扩容(LVM)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 磁盘扩容 LVM 一 LVM是什么 二 LVM制作 创建LVM逻辑卷 创建pv 物理卷 创建vg 卷组 创建lv 逻辑卷 制作文件系统并挂载 制作文件系统 格式化 挂载 查看
  • IDEA的基本使用

    1 设置字体 2 改背景颜色默认为白色 file gt settings Darcula是黑色 3 设置maven 4 单个项目工程的设置 使用idea创建java项目 sdk默认是内置的 我们要选择自己的 jdk idea中 一个项目就是
  • 专访 UIUC 李博

    ChatGPT 的出现让 AI 再次引起了一场科技圈的震动 这场震动影响深远 让科技界分为两派 一派认为 AI 迅速发展可能会在不久后取代人类 这种 威胁论 虽然不无道理 但另一派也提出不同观点 AI 的智力水平依然尚未赶超人类甚至 还不如
  • 如何安装stegdetect(Windows下)

    一 stegdetect 简介 1 笼统的来说 stegdetect 就是用来检测jpg类型的图片是否隐藏着其他文件或内容 据说 他还会尝试识别是用什么隐写工具将额外的信息隐藏在图片中 2 使用stegdetect时会有一些参数 下面简单罗
  • 安装pip install tensorflow==1.14报错

    pip install tensorflow 1 14 一直报错 显示只能安装2 0 以上版本时 请确认python版本是否低于3 8 3 8以上版本不支持1 x 将python 降级为3 7即可
  • 【oracle19c创建表空间及用户】

    一 oracle创建表空间及用户 1 查看当前连接的容器 SQL gt show con name CON NAME CDB ROOT 此时使用的是CDB容器 需要切换到PDB中进行 2 查看pdb下库的信息 SQL gt select n
  • Linux下安装python及更改系统原有python

    Linux下安装python及更改系统原有python 1 Linux下安装python linux中下载安装的源码文件一般习惯放在 usr local src 中 src是source的缩写 进入该目录 用wget 下载就行 假设我下载的
  • 前后端分离理解

    历史渊源 借Jsp来举例 jsp就是一个典型的前后端耦合在一起的典型的计数案例 这种模式在以前互联网不那么繁荣 web化趋势还不是那么明显的年代发挥着巨大的作用 但是随着社会技术的不断加深 各种各样的服务都web化以后 其实很多前端展示的东
  • Linux内核:配置内核(一)

    本文译自Linux orgDevynCJohnson的系列文章 Linux内核 本篇链接 http www linux org threads the linux kernel configuring the kernel part 1 4
  • Python实现 身体质量指数BMI的计算(嵩天老师)

    示例5 身体质量指数BMI BMI的定义 BMI 国际上常用的衡量人体肥胖和健康程度的重要标准 主要用于统计分析 定义 BMI 体重 kg 身高 身高 m m 身体质量指数标准 思路方法 难点在于同时输出国际和国内对应的分类 思路1 分别计