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))
这给了我一个错误,说“运行未定义”。我不明白。我还是新手。我知道这是一条陡峭的学习曲线。
答案 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))
在这里,您可以在函数之外定义列表并将其用作参数,因此您现在可以将其归为要平均的任何列表。
祝你好运!