0
点赞
收藏
分享

微信扫一扫

Python案例3—计算基础代谢率V_2.0

项目导入

版本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 + 655
    return bmr_women


def men_bmr(weight, height, age):
    bmr_men = 13.7 * weight + 5.0 * height - 6.8 * age + 66
    return 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 + 1
        print('这是程序的第', 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:n

Process finished with exit code 0

更上一层楼–让程序进化一点点

在版本2.0的基础上改造程序,能否BMR值的输出要带单位,用户能否将数值在一行输入

举报

相关推荐

0 条评论