2016-08-09 116 views
-1

我想制作一个listool模块。除了NameError无法正常工作

我想做一个检查函数,它检查列表中项目的可用性。

这里是我的非工作代码:

def check(lst, item): 
    try: 
     if item in lst: 
      return "Requested Item In List" 
     else: 
      return "Requested Item Not In List" 
    except: 
     pass 

我想使它所以如果没有清单它只是传递。

所以,当我没有名单做,这里是错误:

>>> import listools 
>>> listools.check(example_list, 'example') 
Traceback (most recent call last): 
File "<pyshell#1>", line 1, in <module> 
    listools.check(example_list, 'example') 
NameError: name 'example_list' is not defined 
>>> 

所以,我希望它做的是什么也不做,如果没有清单 但它有错误出来( NameError)

+1

难道你不觉得作为缩进的30个空间是一个**小**多一点? – Kasramvd

+0

你的代码不起作用?它做了什么是不正确的?你想要做什么,它没有做什么? – khelwood

+0

@Kasramvd不,当我复制并粘贴它时,它就是这样的 –

回答

0

NameError通常表示您尝试引用的变量不存在。如果你看看你的错误信息,它说name 'example_list' is not defined。这应该告诉你,我试图使用example_list,但程序找不到它。这样做的大多数原因是:a)你在函数/循环中定义了一个变量,这个变量不能在函数/循环之外访问(局部变量),或者b)你根本没有定义变量。在这种情况下,假设错误消息告诉你它是而不是这个函数有问题,但是和你的其他代码一样,你很可能忘了定义一个变量。在这种情况下,您应该在使用之前尝试定义example_list