2017-04-16 4 views
-1

Hallo dort habe ich Fehler in meinem Mini-Chatbot-Basis auf Python. In meinem Commandprompt, wenn ich dort läuft ist eine Fehlermeldung wie folgt aus: Typeerror: ‚list‘ Objekt ist nicht in der LagePython Error (beim Erstellen Mustervergleich Matchingbot): List Objekt ist nicht in der Lage

Hier mein Code:

import re 
import random 

response = (
    ("hello",    ("Hi!", "Hello!", "Greetings!", "Howdy!")), 
    ("hi",     ("Hi!", "Hello!", "Greetings!", "Howdy!")), 
    ) 

pronouns = { 
    "i'm": "you're", 
    "i": "you" 
    } 

random.seed() 
print("I am psychiatrist bot. I can make you feel better. Tell me how you're feeling!") 

while True: 
    input = re.split("[\.!?]",input("> ").lower().rstrip(".!?")) # <-- Error 
    full_reply=' ' 

    for sentence in input: 
     sentence=sentence.lstrip() 
     for pattern in responses: 
      wildcards = [] 
      if re.match(pattern[0], sentence): 
       wildcards = filter(bool, re.split(pattern[0], sentence)) 
       # replace pronouns 
       wildcards = [' '.join(pronouns.get(word, word) for word in wildcard.split()) for wildcard in wildcards] 

       response = random.choice(pattern[1]) 
       response = response.format(*wildcards) 
       full_reply+=response+' ' 

       break 

    print(full_reply) 
+0

Bitte geben Sie die vollständige Fehlerrückverfolgung an. –

Antwort

1

Sie überschreiben (und dann zu versuchen, verwenden) die eingebaute Funktion input; im zweiten Lauf Ihrer Schleife input wird ein list sein.

und die Fehlermeldung ist wahrscheinlich, dass eine list ist nicht aufrufbar.

Verwandte Themen