python - 变量未在函数中定义
问题描述
我目前正在处理这里的最后一个函数,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)
解决方案
您的最后一行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)