大家好,所以我写了一些代码作为学校的嵌套循环,它迭代列表中的多个列表,这些列表具有不同主题的分数,然后创建一个新列表,其中包含每个课程的平均值。/ p>
>>> new_list = []
>>> for x in range(len(grades)):
sum_of_grades = 0
for i in range(len(grades[x])):
sum_of_grades = sum_of_grades + grades[x][i]
new_list.append(sum_of_grades / len(grades[x]))
>>> new_list
[75.0, 85.0, 90.0]
在Idle中运行此代码时,它完美无缺。问题是我在另一个文件上创建一个函数。它一直说未定义新列表。
def averages(grades):
''' (list of a list of numbers) -> list of float
Return a new list in which each item is the average of the grades
in the inner list at the corresponding position
>>> averages = [[70, 75, 80], [70, 80, 90, 100], [80, 100]]
[75.0, 85.0, 90.0]
'''
new_list = []
for x in range(len(grades)):
sum_of_grades = 0
for i in range(len(grades[x])):
sum_of_grades = sum_of_grades + grades[x][i]
new_list.append(sum_of_grades / len(grades[x]))
print(new_list)
非常感谢任何帮助我的解释。
以下是错误消息:
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
new_list
NameError: name 'new_list' is not defined
我创建了一个insideloops.py
文件,我在其中运行底部代码:
def averages(grades):
然后我保存文件并从空闲状态运行模块,然后使用averages = [[70, 75, 80], [70, 80, 90, 100], [80, 100]]
在空闲状态下调用该函数。
我尝试使用new_list作为全局变量并将其导入到函数中进行故障排除,看起来没有任何内容被附加到列表中。
**感谢所有人的帮助。我将函数调用为数组而不是函数。 **
我是怎么称呼的:
averages = [[70, 75, 80], [70, 80, 90, 100], [80, 100]]
我开始工作时如何调用它:
averages = ([[70, 75, 80], [70, 80, 90, 100], [80, 100]])