繁体   English   中英

Python清单,模组和循环(语法错误)

[英]Python lists, modules, and loops (syntax error)

目前正在学习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从不可编辑的文件中拉出来,使其起作用吗?

我会问我的实习老师,但直到本周晚我什么都没有。

您应该使用参数名称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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM