Python列表,模块和循环(语法错误)

时间:2014-05-19 02:26:38

标签: python

目前正在学习Python,但我对某个特定问题感到有些困惑。

我需要使用循环打印列表的长度,而不使用任何内置函数。

我知道输入后会有以下工作:

listLength = 0

list1 = ['a', 'b', 'c', 'd']

for y in list1:
    listLength += 1
print(listLength)

但问题是我们无法编辑的文件:

import function_lists

list1 = ['a', 'b', 'c', 'd']

print("Length of list:", function_lists.listLength(list1))

在名为function_lists的可编辑文件中,我完成了这个:

def length(a_list)

    length = 0

    for y in list1:
        listLength += 1

语法错误:list1未定义 - 据我所知,我误解了模块是如何工作的,不应该通过import function_lists将list1从不可编辑的文件中拉出来,所以它确实有效?

我会问我的实践导师,但直到本周晚些时候才有任何东西。

1 个答案:

答案 0 :(得分:1)

您应该使用参数名称a_list,而不是您传递的参数list1。 @Andy G指出,在声明函数时,你需要用冒号结束声明(例如。def function_name(args):)。此外,函数的默认返回值为None,因此,正如@RiaD指出的那样,您还应该返回length变量。

def length(a_list)

    length = 0

    for y in list1:
        listLength += 1

应该是

def length(a_list):
    length = 0
    for y in a_list:
        length += 1
    return length