2016-05-27 10 views
0

ID möchte ein Stück meines Codes in der Mitte eines NLTK-Satzes hinzufügen, obwohl ich nicht weiß, wie ich es richtig mache, ich habe fast alles versucht. Mein aktueller Code gibt mir einen Syntaxfehler wie folgt aus:Code zu einem NLTK-Satz hinzufügen?

url = raw_input("input") 
    ^syntax error 

Code:

pairs =(
     (r'Who are you', 
     ("I am an AI programmed to respond to your questions", 
     "I am a python script")), 

     (r'Can you open a webpage for me?', 
url = raw_input('Enter URL: ') 
req = Request(url) 
try: 
    response = urlopen(req) 
except URLError, e: 
    if hasattr(e, "reason"): 
     print "We failed to reach a server." 
     print 'Reason: ', e.reason 
    elif hasattr(e, 'code'): 
     print 'The server couldn\'t fulfill the request.' 
     print 'Error code: ', e.code 
else: 
    print 'URL is good!' 
    webbrowser.get(chrome_path).open(url) 

heres der Teil des Codes verwirrend das ist, ich habe nicht wirklich bekommen, wie im diese codieren soll, und wenn ist es überhaupt möglich?

Vielen Dank für Ihre Zeit

Python 2.7

+0

Beitrag Text nicht ein Link zu Ihrem Code, haben Sie einen Syntaxfehler in der vorhergehenden Zeile Sie bereits die Klammern hier geschlossen hat: 'Paare = ( (r'Who Sie sind‘, ("I bin eine KI programmiert, um auf deine Fragen zu antworten ", " Ich bin ein Python-Skript ")), <------- (r'Kannst du eine Webseite für mich öffnen? ',' ändern zu: ' Paare = ( (r'Who are you ', ("Ich bin ein AI programmiert, um auf Ihre Fragen zu antworten", "Ich bin ein Python-Skript", r'Kann Sie eine Webseite für mich öffnen?') ' – EdChum

+0

Eigentlich sieht es wie du'v aus Es ist uns nicht gelungen, die andere Hälfte des Paares in der vorherigen Zeile zu liefern: '(Können Sie eine Webseite für mich öffnen? ',' müssen Sie zumindest die Klammern ausgleichen: '(r'Kann man eine Webseite öffnen für mich? ',) ' – EdChum

+0

Es tut mir leid, es gibt mehr Code auf der anderen Seite, deshalb die Paranthesen addieren nicht – Slinning

Antwort

0

ich Angst habe, dass die beste Wahl, um die Art und Weise zu ändern, ist, dass Sie die Daten sind Handhabung. Diese Paare (ich denke) sollen mögliche Antworten enthalten, während dieser Code eine Aktion, keine tatsächliche Antwort wäre. Meiner Meinung nach sollten Sie eine konsistentere Philosophie beibehalten und zum Beispiel diese Lösung übernehmen: in einem Paar, der erste Punkt ist die Frage (so weit so gut) und der zweite der Name einer Funktion, die, wenn sie aufgerufen wird, diese Frage beantworten wird .

def openurl(): 
    url = raw_input() 
    ... 

("...?", openurl) 
Verwandte Themen