2016-08-09 20 views
-1

Ich versuche, ein Listool-Modul zu machen.außer NameError funktioniert nicht

Ich versuche, eine Überprüfungsfunktion zu machen, die die Verfügbarkeit eines Artikels in einer Liste prüft.

Hier ist mein nicht-funktionierenden Code:

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

ich es machen will, so dass, wenn es keine Liste ist es nur geht.

Also, wenn ich es ohne Liste tun, hier ist der Fehler:

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

so, was ich es tun will nichts tun, wenn es keine Liste ist aber es kommt mit einem Fehler aus (NameError)

+1

Denkst du nicht, dass 30 Leerzeichen als Einrückung ein ** kleines ** bisschen viel ist? – Kasramvd

+0

Ihr Code funktioniert nicht? Was macht das falsch? Was wolltest du, dass es nicht tut? – khelwood

+0

@Kasramvd nein, wenn ich es kopiert und eingefügt, ging es so –

Antwort

0

NameError zeigt normalerweise an, dass die Variable, auf die Sie zugreifen möchten, nicht existiert. Wenn Sie Ihre Fehlermeldung anzeigen, wird name 'example_list' is not defined angezeigt. Dies sollte Ihnen sagen, ich habe versucht, example_list zu verwenden, aber das Programm konnte es nicht finden. Die meisten Gründe hierfür sind a) Sie haben eine Variable in einer Funktion/Schleife definiert, auf die außerhalb der Funktion/Schleife (lokale Variable) nicht zugegriffen werden kann, oder b) Sie haben die Variable nie definiert. In diesem Fall, vorausgesetzt, dass die Fehlermeldung Ihnen mitteilt, dass es nicht ein Problem mit der Funktion aber mit Ihrem anderen Code war, haben Sie höchstwahrscheinlich vergessen, eine Variable zu definieren. In diesem Fall sollten Sie versuchen, example_list zu definieren, bevor Sie es verwenden.

Verwandte Themen