1.案例描述

基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上。

计算公式:

BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6.8*年龄)+ 66

BMR(女) = (9.6*体重kg) + (1.8*身高cm)-(4.7*年龄)+655

2.0增加功能:根据用户输入BMR参数,计算BMR值,支持持续输入。

3.0增加功能:用户可以在一行输入所有信息,带单位的信息输出。

4.0增加功能:处理异常操作

2.案例分析

引入异常处理机制,来解决程序运行时的错误。

try:

except:

except:

except:

先执行try,存在异常则选择一个最匹配的except执行对应的处理语句,无异常则直接执行try-except后边语句。

最常见的except类型是IndexError(索引错误),KeyError(键错误),ValueError(值错误),TypeError 传入对象类型与要求的不符合。常见异常汇总参考

3.上机实验

"""

作者:梁斌

功能:BMR计算器

版本:4.0

日期:04/08/2017

3.0 增加功能:用户可以在一行输入所有信息,带单位的信息输出

4.0 增加功能:处理异常操作

"""

def main():

"""

主函数

"""

y_or_n = input('是否退出程序(y/n)?')

while y_or_n != 'y':

# # 性别

# gender = input('性别:')

# # print(type(gender))

#

# # 体重 (kg)

# weight = float(input('体重(kg):'))

# # print(type(weight))

#

# # 身高 (cm)

# height = float(input('身高(cm):'))

# # print(type(height))

#

# # 年龄

# age = int(input('年龄:'))

# # print(type(age))

print('请输入以下信息,用空格分割')

input_str = input('性别 体重(kg) 身高(cm) 年龄:')

str_list = input_str.split(' ')

try:

gender = str_list[0]

weight = float(str_list[1])

height = float(str_list[2])

age = int(str_list[3])

if gender == '男':

# 男性

bmr = (13.7 * weight) + (5.0 * height) - (6.8 * age) + 66

elif gender == '女':

# 女性

bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655

else:

bmr = -1

if bmr != -1:

print('您的性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender, weight, height, age))

print('您的基础代谢率:{}大卡'.format(bmr))

else:

print('暂不支持该性别')

except ValueError:

print('请输入正确的信息!')

except IndexError:

print('输入的信息过少!')

except:

print('程序异常!')

print() # 输出空行

y_or_n = input('是否退出程序(y/n)?')

if __name__ == '__main__':

main()

参考文档:

标签:20,4.0,Python,gender,except,BMR,str,print,input

python平均成绩计算异常处理_【Python 20】BMR计算器4.0(异常处理)相关推荐

  1. python平均成绩计算异常处理_7-10 jmu-python-异常-学生成绩处理基本版 (15 分)

    小明在帮老师处理数据,这些数据的第一行是n,代表有n行整数成绩需要统计. 数据没有错误,则计算平均值(保留2位小数)并输出. 数据有错误,直接停止处理,并且不进行计算. 注:该程序可以适当处理小错误, ...

  2. python 基础代谢率计算_【Python 20】BMR计算器4.0(异常处理)

    1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...

  3. python简单计算器异常处理_【Python 20】BMR计算器4.0(异常处理)

    1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...

  4. 【Python 20】BMR计算器4.0(异常处理)

    1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...

  5. 编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?...

    [判断题]卤素灯泡是在灯泡内充入氟.氯等卤素气体. [单选题]我国刑法第12条关于溯及力的规定采取的是( ). [填空题]本地局域网 LAN 内, () 和无绳电话速率较低,主流带宽是 100kbps ...

  6. python怎么取百位_#python计算结果百位500向下取整,(0-499取000,500-999取500)

    !/usr/bin/env python coding:utf-8 计算结果百位500向下取整,(0-499取000,500-999取500) import math calc_Amount = fl ...

  7. 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集

    python教程,求一套比较好的python教程 好不好主要先看你自己,理解能力样,有没有接触过编程,有没础,这很重要: 看教程,能不能先给你建立起知识体系框架,许多教程一上来就直接给你灌输知识很让人 ...

  8. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  9. python如何设置字体大小_[Python Basic]如何设置 Python 的运行环境

    一如既往地, 咱们不仅仅是学习 Python 的基础知识, 同时, 也按照2/8 规律学习关键知识的关键部分 - python 核心词汇 如何安装 Python 下载 Python 打开网址:http ...

最新文章

  1. R语言使用ggplot2包使用geom_density()函数绘制密度图(自定义颜色填充、线条色彩、分组、均值线)实战(density plot)
  2. 对象比较:Comparable 和 Comparator
  3. Visual Studio 2010 概念型IDE
  4. SAP Spartacus如何为不同的environment设置不同的baseUrl
  5. 独家 | 2021双11背后的数据库硬核科技
  6. Swagger2的使用
  7. 计算机网络提供服务靠,计算机网络体系结构及协议之通信子网的操作方式和网络层提供的服务...
  8. Qt Package Project 打包发布程序
  9. 【讨论】测试工程师能否作为一份终生职业?30岁+怎么办?
  10. matlab里数据类型转换,Matlab数据类型及转换
  11. 手机怎么录游戏视频 手机屏幕录制的方法
  12. mysql的group by语句不会产生_MySQL:为什么查询列表中多了它,GROUP BY语句就会报错呢?...
  13. CAJ如何在线免费转换成可编辑的Word
  14. 程序员真的是吃青春饭的吗?
  15. layui layer btn
  16. Mac 解压rar格式文件(附解压工具包)
  17. Codevs 4246 奶牛的身高
  18. 锤子m1l 刷android7.0,锤子M1/M1L收到 Smartisan OS 3.7.0 更新推送
  19. CSS 溢出overflow属性的使用
  20. 微信电话显示对方忙是为什么 微信电话显示对方忙是什么意思

热门文章

  1. python分布式爬虫开题报告范文_基于Python的豆瓣Top250排行榜影片数据爬取和分析开题报告...
  2. Dockerfile制作镜像
  3. 防ddos-shell
  4. 武夷山停排事件内幕调查
  5. linux桌面播放视频播放器,五个最佳桌面媒体播放器
  6. 计算机三维动画学什么,计算机三维动画设计教学大纲..doc
  7. HTTPS协议原理透析
  8. Tina_Linux_WiFi_RF测试_使用指南
  9. 使用友盟社会化分享安卓android版SDK分享纯图片到微信
  10. 制作无后端的静态网页