前面的3节课已经将BMR计算讲完,这一节主要讲解一下在遇到异常情况怎么处理?

下面是异常处理机制:

--引入异常处理机制可以用来解决程序运行时的错误

语法:

try:

except:

except:

except:

当Python遇到try语句,先尝试执行try包含的代码块,这部分代码块是可能出现错误的代码块。

如果没有错误发生,执行try-except后面的语句。

如果发生错误,Python寻找一个符合该错误的异常语句,然后执行相应的except的处理代码。

"""

作者:lanxingbudui

功能:BMR计算器

版本:4.0

日期:20190303

新增功能:根据用户输入计算BMR;程序持续运行

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

新增功能:对异常情况处理

"""

def main():

"""

主函数

"""

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

while y_or_n != 'y':

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('您的性别:{},体重:{}kg,身高:{}cm,年龄:{}岁'.format(gender, weight, height, age))

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

else:

print('该版本暂时不支持改性别!')

except ValueError:

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

except IndexError:

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

except:

print('程序异常!')

print()

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

if __name__ == '__main__':

main()

标签:4.0,Python,基础代谢率,list,except,try,str,print,input

来源: https://blog.csdn.net/lanxingbudui/article/details/88084347

python 基础代谢率计算_Python的学习笔记案例3--基础代谢率计算4.0相关推荐

  1. python空气质量指数计算_Python的学习笔记案例8--空气质量指数计算5.0

    之前都是使用提前准备好的文件来获取数据,时效性很差. 为了更有效.更快地获取并利用网络信息并工作提高效率,出现了网络爬虫. 利用网络爬虫实时获取城市的空气质量指数. 什么是网络爬虫? 自动抓取互联网信 ...

  2. python 网络接口 开发_Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

  3. python ide安装_Python基础学习笔记(一)安装以及IDE的配置

    一.初识Python 版本:python-3.4.3.amd64 初次接触Python,没有使用Python 2.x进行开发真实项目的经历.所以不知2.x版本和3.x版本孰优孰劣,目前是作为一门兴趣来 ...

  4. python的学习笔记案例1--汇率兑换1.0

    一.python程序元素: 缩进 注释----加入说明信息,不被执行.单行以"#"开头:多行使用"""  """ 三组双 ...

  5. python networkx教程_Python NetworkX 学习笔记

    chapter1 快速开始 import networkx as nx from matplotlib import pyplot as plt G = nx.Graph() # create a g ...

  6. python 矩阵除法_Python线性代数学习笔记——矩阵的基本运算和基本性质,实现矩阵的基本运算...

    当学习完矩阵的定义以后,我们来学习矩阵的基本运算,与基本性质 矩阵的基本运算:矩阵的加法,每一个对应元素相加,对应结果的矩阵 例子:矩阵A和矩阵B表示的是同学上学期和下学期的课程的成绩,两个矩阵相加就 ...

  7. python的学习笔记案例1--汇率兑换4.0

    汇率兑换4.0:可以调用函数进行汇率兑换 """作者:lanxingbudui版本:4.0功能:汇率兑换日期:2018-12-10新增功能:根据输入判断是人民币还是美元, ...

  8. python画猪猪侠_python的学习笔记/002-3(2018-5-20)

    群集类型 群集类型 列表 元组 字典 集合 list tuple dict set 1.列表 列表的类型是list,特点为有序,具备索引,内容与长度可以变动.要创建列表,可以使用[]直接表示法,列表中 ...

  9. python pywin32教程_python pywin32学习笔记

    参考博客链接 参考博客链接 pyhandle=win32gui.FindWindow(classname,text) pyhandle windows窗体句柄,int 类型 className 窗体类 ...

最新文章

  1. 用了3年Apollo,这次我选择了Nacos,原因不多说了
  2. 生产过剩下的危机--房价上涨买不起房,房价泡沫破裂后仍然买不起房!
  3. keynotes egestas,PPT 渐变背景下载-imsoft.cnblogs
  4. Mysql备份工具xtrabackup 8 安装图解
  5. C#多线程学习(一) 多线程的相关概念
  6. 转:Windows下WSH/JS实现SVN服务器钩子脚本阻止提交空日志信息和垃圾文件
  7. poj 2240 Arbitrage floyd基础,字符串输入有点麻烦
  8. 迁移oracle数据库,简简单单的Oracle数据库迁移方法
  9. 超详细的Windows新装机流程(自装Windows系统、设置BIOS等)
  10. 都说谷歌浏览器好用,网页翻译插件必不可少
  11. vue+element-ui select必填项验证回显问题+实现重置表单内容
  12. 微信聊天记录导出(iOS) [2019.7.24]
  13. 学习笔记-spo0lsv病毒分析
  14. Github上量化交易相关项目汇总
  15. 设计模式——做软件的必学课程
  16. [统计学笔记] (八)分类数据分析
  17. swing hacks_这些firefox hacks和扩展程序增强了您的隐私
  18. Xshell的Sessions存放目录
  19. label标签中for的使用
  20. 【原创】Unity3D 模仿《魔兽世界》的第三人称角色控制器

热门文章

  1. navicat for mysql 背景颜色_Navicat for MySQL 选项设置技巧详解
  2. docker拉取镜像失败no matching manifest for windows/amd64 10.0.18362 in the manifest list entries
  3. 复杂的POI导出Excel表格(多行表头、合并单元格)
  4. python可视化——颜色映射
  5. SpringMVC之实现文件上传与下载
  6. ubuntu14.04安装GTX 1080 ti显卡驱动以及遇到黑屏问题
  7. 手机端和电脑端共用mysql_手机与电脑共用的数据库
  8. 如何看待2021年秋招算法岗灰飞烟灭?
  9. linux之前关闭信号,Linux 两组信号对比(关闭和停止进程信号)
  10. 【最简单】Electron 怎么将网页打包成桌面应用(web前端页面怎么生成exe可执行文件)