首页 > 解决方案 > 变量未在函数中定义

问题描述

我目前正在处理这里的最后一个函数,timeToRun。

我不知道为什么我会收到

 NameError: name 'caloriesBurned' is not defined

我正在尝试计算某个体重的人在跑步时消耗大量卡路里所需的分钟数。

weight = (int(input("Enter your weight in pounds ")))
while weight <= 40:
        weight = int(input("Please reenter, weight must be higher than 40. "))

height = (int(input("Enter your height in inches ")))
while height <= 30:
        height = int(input("Please reenter, height must be higher than 30. "))

age = (int(input("Enter your age in years ")))
while age <= 1:
        age = int(input("Please reenter, age must be higher than 1. "))


def CalorieBurn(user_weight, user_height, user_age):
    calories = 655 + (4.3 * user_weight) + (4.7 * user_height) - (4.7 * user_age)
    print(calories)




def burnedRuns(user_weight):
    caloriesBurned = user_weight * .095
    print(caloriesBurned)


def burnedJogs(user_weight):
    caloriesBurned = user_weight * .0775
    print(caloriesBurned)


def burnedWalks(user_weight):
    caloriesBurned = user_weight * .054
    print(caloriesBurned)

def timeRequiredRun(caloriesDaily, user_weight):
    caloriesBurned = user_weight * .095
    timeToRun = calories / caloriesBurned
    print(timeToRun)

timeRequiredRun(caloriesBurned, user_weight)

标签: python

解决方案


您的最后一行timeRequiredRun(caloriesBurned, user_weight)使用了一个名为的变量,该变量caloriesBurned不存在。我想你正在寻找这样的东西:

def CalorieBurn(user_weight, user_height, user_age):
    calories = 655 + (4.3 * user_weight) + (4.7 * user_height) - (4.7 * user_age)
    return calories

def timeRequiredRun(calories, user_weight):
    caloriesBurned = user_weight * .095
    timeToRun = calories / caloriesBurned
    print(timeToRun)

calories = CalorieBurn(weight, height, age)
timeRequiredRun(calories, user_weight)

推荐阅读