【每天学点Python】案例三:BMR计算器

BMR计算器

V1.0

案例描述:

  • 基础代谢率(Basal Metabolic Rate,简称BMR)是指:我们在安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上
  • 计算公式:
    • BMR(男)=(13.7*体重(Kg))+(5.0*身高(cm))-(6.8*年龄)+ 66
    • BMR(女)=(9.6*体重(Kg))+(1.8*身高(公分))-(4.7*年龄)+ 655

案例分析:

输入:

  1. 性别;
  2. 体重;
  3. 身高;
  4. 体重

上机实验:

 1 """
 2     作者:王鑫正
 3     功能:BMR计算器
 4     版本:V1.0
 5     日期:2018年9月19日
 6 """
 7
 8 def main():
 9     """
10         主函数
11     """
12     # 性别
13     gender = ‘男‘
14
15     # 体重(kg)
16     weight = 70
17
18     # 身高(cm)
19     height = 175
20
21     # 年龄
22     age = 25
23
24     if gender == ‘男‘:
25         # 男性
26         bmr = (13.7 * weight) + (5.0 * height) - (6.8 * age) + 66
27     elif gender == ‘女‘:
28         # 女性
29         bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
30     else:
31         bmr = -1
32
33     if bmr != -1:
34         print(‘基础代谢率(大卡)‘, bmr)
35     else:
36         print(‘暂不支持该性别‘)
37
38
39 if __name__ == ‘__main__‘:
40     main()

补充说明:

1. 数值类型:

  • 整数类型,与数学中的整数概念一致,如:100,-250
  • 浮点数类型,带有小数点及小数的数值,如:0.0, -3.14, 3.4e-3
  • 类型转换:
    • 整数->浮点数,float(4)->4.0
    • 浮点数->整数,int(3.14)->3,只保留整数部分
    • 字符串->整数,int(‘4‘)->4
    • 字符串->浮点数,float(‘3.14‘)->3.14
  • 判断数据类型:type()函数

V2.0增加功能:根据用户输入计算RMB,程序持续运行:

上机实验:

 1 """
 2     作者:王鑫正
 3     功能:BMR计算器
 4     版本:V2.0
 5     日期:2018年9月19日
 6     新增功能:根据用户输入计算RMB,程序持续运行:
 7 """
 8
 9 def main():
10     """
11         主函数
12     """
13     y_or_n = input(‘是否退出程序(y/n)?‘)
14
15     while y_or_n != ‘y‘:
16         # 性别
17         gender = input(‘性别:‘)
18         print(type(gender))
19
20         # 体重(kg)
21         weight = float(input(‘体重(Kg):‘))
22         print(type(weight))
23
24         # 身高(cm)
25         height = float(input(‘身高(cm):‘))
26         print(type(height))
27
28         # 年龄
29         age = int(input(‘年龄:‘))
30         print(type(age))
31
32         if gender == ‘男‘:
33             # 男性
34             bmr = (13.7 * weight) + (5.0 * height) - (6.8 * age) + 66
35         elif gender == ‘女‘:
36             # 女性
37             bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
38         else:
39             bmr = -1
40
41         if bmr != -1:
42             print(‘基础代谢率(大卡)‘, bmr)
43         else:
44             print(‘暂不支持该性别‘)
45
46         print() # 无参输出空行
47         y_or_n = input(‘是否退出程序(y/n)?‘)
48
49
50 if __name__ == ‘__main__‘:
51     main()


V3.0未完待续……

原文地址:https://www.cnblogs.com/Kevin-WangXinzheng/p/9678096.html

时间: 2024-10-08 11:13:44

【每天学点Python】案例三:BMR计算器的相关文章

怒学Python——第三篇——结构控制

众所周知,程序语句运行的结构无非是顺序结构.分支结构和循环结构,Python也是如此,顺序结构过于简单不提,简单记录一下分支和循环与C++的异同点,顺便提一下,对于已经会C++的人来说,学Python应该注意的是语句块通过缩进来控制. 分支结构:都使用if.else,多出了一个elif代替C++的else if,本质相同,就不给出例子 循环结构:和C++对比,没有了do..until语句,有while和for,里面同样使用break来结束循环,使用continue来进入下一个循环,但for出现了

福利分享:《21天学通Python》电子书籍分享

本书共分三篇 第一篇介绍Python语言的特点.安装.语法基础.程序流程控制.面向过程的编程方法.面向对象的编程方法.程序异常的处理: 第二篇介绍了Python语言中的包与模块.迭代器.生成器.装饰器.上下文管理器等进阶语法,同时介绍了使用Python标准库中的文件系统处理.图形化界面编程.正则表达式.网络编程.多进(线)程编程.数据库编程.此外,还介绍了运用第三方库的Web网站编程.图片处理: 第三篇通过两个案例介绍Python的综合编程技术. 在内容上涉及面广,从基本操作到高级技术及综合案例

Python资料学习《疯狂Python讲义》+《教孩子学编程Python语言版》+《Python编程导论第2版》

适合初学者入门,适合Python就业,包含网络编程.数据分析.网络爬虫等大量企业实用的知识.建议学习<疯狂Python讲义>电子书和<教孩子学编程Python语言版>电子书,并进行配套的代码测试. <疯狂Python讲义>电子书适合初学者入门,适合Python就业,包含网络编程.数据分析.网络爬虫等大量企业实用的知识. <疯狂Python讲义>电子书第一部分系统讲解了Python的基本语法结构.Python的函数编程.Python的类和对象.模块和包.异常处

运维的我要学开发--Python(4)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示. #-*- coding: utf-8 -*- ''' 文件相关的操作: read() open() 两个参数: 第一个:文件路径 第二个:打开文件的模式 常用的文件打开模式: r:文本模式读取 rb:二进制模式读取 w:创建文件并文本模式 wb:创建文件,二进制模式写 rU:通用换行符的文本模式读取文件(独立

为什么偏偏是你学不好Python呢?论学习方法

首先我给大家讲下初学者学习Python的一个整体规划. 首先定位:知道如今的市场行情,需要掌握什么技能才能找到一份Python开发的工作,现在公司需要什么人才,这个就是你学习的一个方向. 系统的学习规划:你要知道自己每天学习什么,因为接触过的新手比较多,很多人学着学着就放弃,或者他们不知道自己在学习什么,这样非常迷茫一点计划没有,肯定是学不会Python的,所以学习Python要知道每天学习什么,做什么案例.创一个小群,供大家学习交流聊天如果有对学python方面有什么疑惑问题的,或者有什么想说

入门:《教孩子学编程 Python语言版》中英文PDF+代码

工作需要看过这本书,书中以turtle绘图展开,吸引学生兴趣,引入点非常好,安利也比较有意思好理解,但是有部分案例不太符合中国情况,还需要再改一改,总之是一本学习编程的好书 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.这门强大的语言如今在大学和Google.IBM等大型技术公司广泛使用.<教孩子学编程 Python语言版>是一本父母和老师教孩子使用Python进行基础程序设计和解决问题的入门图书.书通过科学合理的结构.通俗易懂的文字.活泼有趣的图示,帮助孩子学习计算机的

python 省略号 三个点...的含义

Python Tensorflow 省略号 三个点 ... 含义(等于号后面省略号,冒号后面省略号) 最近在学习tensorflow object detection API的源码,研究以下faster RCNN的实现.阅读到含有省略号的代码.不是很理解什么意思. C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\typeshed\stdlib\3\collections (__init__.pyi) #

Python入门《父与子的编程之旅第2版》+《教孩子学编程Python语言版》

无论有无编程基础,无论大人小孩,学习编程语言,建议首选Python.初次接触Python,或者想快速应用Python完成一些任务,建议学习<父与子的编程之旅第2版>电子书和<教孩子学编程Python语言版>电子书. 对于孩子们来说,纯粹的数学计算并不是那么的有趣:而能够做出一个看得到的东西,则是一件很有成就感的事情.<父与子的编程之旅第2版>电子书在七分之一的篇幅处即引入了GUI的概念和实际例子,在四分之一的篇幅处即告知孩子们“游戏时间到了”,让孩子们可以自己敲击代码来

estore商城案例(三)------Filter过滤器:自动登录&amp;权限管理

前面写好了用户登录\注册\添加商品的功能模块.下面写一下对于这些功能模块的相关过滤器---自动登录与权限管理: 一.自动登录: 业务逻辑是这样的:jsp登录页面有个“自动登录选项”,如果登录这勾选了,那么在serlvet程序中则会额外的生成一个保存用户名和密码的cookie,然后每次用户向服务器发送请求时,Filter过滤器都会先判断用户的登录状态(session),如果已经登录那么无需做出受任何操作直接放行,如果没有登录(无session),那么这时体现自动登录功能作用的时候到了,先获取自动登