首页 > 解决方案 > 我有这个问题

问题描述

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) 时会发生这种情况。我怀疑这与我传递函数参数的方式有关。但是我能做些什么来解决它?

标签: python

解决方案


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()。


推荐阅读