我的数组在IDLE中更改,但在导入函数

时间:2018-03-08 00:33:31

标签: python python-3.x

大家好,所以我写了一些代码作为学校的嵌套循环,它迭代列表中的多个列表,这些列表具有不同主题的分数,然后创建一个新列表,其中包含每个课程的平均值。

>>> 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]])

0 个答案:

没有答案