zyBooks 1.24实验:如何将年龄、心率、时间转为整数实现卡路里计算
解决方案:将年龄、心率、时间存储为整数类型
你需要把年龄、心率、时间这三个变量的输入转换为整数类型(int)——因为这些数据本身都是整数属性的(年龄按年统计、心率是每分钟的次数、时间以分钟为单位),而体重可能包含小数,所以可以保留浮点类型。Python在整数与浮点数混合运算时会自动将整数转换为浮点数,完全不会影响卡路里计算公式的正确性。
修改后的代码
# 转换年龄、心率、时间为整数类型,体重保留浮点 age_years = int(input()) weight_lbs = float(input()) heartrate_bpm = int(input()) time_min = int(input()) # 卡路里计算公式不受类型转换影响,整数会自动转为浮点数参与运算 calories = ((age_years * 0.2757) + (weight_lbs * 0.03295) + (heartrate_bpm * 1.0781) - 75.4991) * time_min / 8.368 # 输出时整数类型会以无小数的形式展示,更符合实际数据意义 print('Age:', age_years , 'years old') print('Weight:' , weight_lbs , 'lbs') print('Heart Rate:' , heartrate_bpm , 'bpm') print('Time:' , time_min , 'min') print('Average calories burned during a workout: {:.2f} calories'.format(calories))
关键说明
- 输入转换:仅对年龄、心率、时间使用
int()转换,确保这些变量以整数类型存储,避免不必要的浮点后缀(比如不会显示25.0岁,而是25岁) - 运算兼容性:Python的数值运算会自动处理整数与浮点数的混合计算,公式的精度和结果不会受影响
- 输出优化:整数类型的变量在打印时会自然展示为整数格式,更贴合数据的实际含义
内容的提问来源于stack exchange,提问作者Brittany
相关产品推荐
相关产品推荐

