<variable name =“”>未定义

时间:2018-07-15 20:16:22

标签: python

def calculate_average(runs,games):
    runs_list = [5, 7, 3, 1, 4]
    num_games = len(runs_list)
    total_runs=0
    for runs in runs_list:
            total_runs += runs
    return total_runs/num_games

print(calculate_average(runs, num_games))

这给了我一个错误,说“运行未定义”。我不明白。我还是新手。我知道这是一条陡峭的学习曲线。

2 个答案:

答案 0 :(得分:0)

您似乎正在针对以下目标:

def calculate_average(runs_list):
    num_games = len(runs_list)
    total_runs = 0
    for runs in runs_list:
        total_runs += runs
    return total_runs / num_games

print(calculate_average([5, 7, 3, 1, 4]))

答案 1 :(得分:0)

在该runs循环中使用for时,您将创建一个特定于该循环的新变量,该变量只能由该循环本身更改或访问。在最后一行,您正在使用不存在甚至不需要的变量执行函数。

您的函数已经内置了它需要的所有信息,因此您只需从定义和执行中取出参数即可。

def calculate_average():
    runs_list = [5, 7, 3, 1, 4]
    num_games = len(runs_list)
    total_runs=0
    for runs in runs_list:
        total_runs += runs
    return total_runs/num_games

print(calculate_average())

如果您想更动态地使用您的函数和/或用于其他列表,请尝试此操作。

runs_list = [5, 7, 3, 1, 4]

def calculate_average(list):
    num_games = len(list)
    total_runs=0
    for runs in list:
        total_runs += runs
    return total_runs/num_games

print(calculate_average(runs_list))

在这里,您可以在函数之外定义列表并将其用作参数,因此您现在可以将其归为要平均的任何列表。

祝你好运!

相关问题