python - 我有这个问题
问题描述
def get_age():
age = int(input())
if age < 18 or age > 75:
raise ValueError('Invalid age.')
return age
def fat_burning_heart_rate(age):
heart_rate = (220 * 0.70) - age
return heart_rate
if __name__ == "__main__":
try:
heart_rate = fat_burning_heart_rate(age)
age = get_age()
print('Fat burning heart rate for a', age, 'year-old:',
heart_rate, 'bpm')
except ValueError as e:
print(e)
print('Could not calculate heart rate info.')
到目前为止,我遇到的主要问题是,当我运行此代码时,它会生成一个名称错误,指出未定义“年龄”。当我尝试分配 heart_rate = fat_burning_heart_rate(age) 时会发生这种情况。我怀疑这与我传递函数参数的方式有关。但是我能做些什么来解决它?
解决方案
def fat_burning_heart_rate(age):
heart_rate = (220 * 0.70) - age
if age < 18 or age > 75:
raise ValueError('Invalid age.')
return heart_rate, age
if __name__ == "__main__":
try:
age = int(input("Input age: "))
heart_rate, age = fat_burning_heart_rate(age)
print('Fat burning heart rate for a', age, 'year-old:',
heart_rate, 'bpm')
except ValueError as e:
print(e)
print('Could not calculate heart rate info.')
你不需要 get_age()。您可以将该代码添加到 fat_burning_heart_rate()。
推荐阅读
- java - 尝试在 Android 中运行 Spark:仅从 Android O 开始支持 MethodHandle.invoke 和 MethodHandle.invokeExact
- pandas - 数据框列不会用空字符串替换 nans
- access-token - 在 AAD B2C 中为图形 API 使用访问令牌
- c++ - 为什么添加 printf 会使函数返回正确的输出?
- python - 在保留所有列的同时合并 2 个熊猫数据框
- html-email - 图标出现在电子邮件签名的顶部
- javascript - 如何单击没有选择器、类或名称的按钮
- ansible - 如何编写多行 Ansible Jinja2 变量?
- jquery - 在 jQuery 数据表插件行中添加下拉列表
- java - java中Json结构的多级映射