大家好,我是白菜胡萝丸子
人生苦短,Python当歌
项目导入
版本2.0:在版本1.0的基础上改造程序,根据用户的输入计算BMR,将BMR计算封装到函数并实现持续运行,让用户选择退出
项目分析—理清思路
- 分析问题:分析问题的计算部分
- 明确问题:划分问题的输入、处理和输出部分(IPO)
- 设计算法:计算部分的核心
请尝试绘制思维导图
知识点学习–万丈高楼平地起
复习:
- Python语法的基础知识
- 函数的定义与调用
- 用程序解决问题的方法
- …
上机编程–动动手,让程序运行起来
参照代码
"""
作者:白菜胡萝丸子
版本2.0:在版本1.0的基础上改造程序,根据用户的输入计算BMR,将BMR计算封装到函数并实现持续运行,让用户选择退出
"""# 定义女,男性bmr计算函数
def women_bmr(weight, height, age):bmr_women = 9.6 * weight + 1.8 * height - 4.7 * age + 655return bmr_womendef men_bmr(weight, height, age):bmr_men = 13.7 * weight + 5.0 * height - 6.8 * age + 66return bmr_men# 定义主函数
def main():# 设置循环判断变量y_n = input('您是否继续运行程序(继续则输入-y,否则输入-n:')# 设置循环的次数i = 0#while y_n == 'y':# 用户输入基础数据gender = input('请您输入性别男(女):')weight = float(input('请您输入您的体重(kg,输入时请不要带单位:'))height = float(input('请您输入您的身高(cm,输入时请不要带单位:'))age = int(input('请您输入您的年龄:'))if gender == '女':bmr = women_bmr(weight, height, age)print('您的基础代谢率为', bmr)elif gender == '男':bmr = men_bmr(weight, height, age)print('您的基础代谢率为', bmr)else:print('暂时不支持计算')# 计算循环次数i = i + 1print('这是程序的第', i , '次运行。' )print('----------------------------')y_n = input('您是否继续运行程序(继续则输入-y,否则输入-n:')if __name__ == '__main__':main()
执行结果
您是否继续运行程序(继续则输入-y,否则输入-n):y
请您输入性别男(女):男
请您输入您的体重(kg,输入时请不要带单位:61
请您输入您的身高(cm,输入时请不要带单位:180
请您输入您的年龄:21
您的基础代谢率为 1658.8999999999999
这是程序的第 1 次运行。
----------------------------
您是否继续运行程序(继续则输入-y,否则输入-n:y
请您输入性别男(女):女
请您输入您的体重(kg,输入时请不要带单位:48
请您输入您的身高(cm,输入时请不要带单位:172
请您输入您的年龄:18
您的基础代谢率为 1340.8
这是程序的第 2 次运行。
----------------------------
您是否继续运行程序(继续则输入-y,否则输入-n:nProcess finished with exit code 0
更上一层楼–让程序进化一点点
在版本2.0的基础上改造程序,能否BMR值的输出要带单位,用户能否将数值在一行输入