目前正在学习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从不可编辑的文件中拉出来,所以它确实有效?
我会问我的实践导师,但直到本周晚些时候才有任何东西。
答案 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