So erstellen Sie das Dictionary-Look-Up-Funktion in Python auf dem Raspberry Pi

Um über die grundlegenden Funktionen in Python zu verschieben, erstellen Sie das Wörterbuch nachschlagen Funktion. Der Raspberry Pi ermöglicht es Ihnen, eine Funktion zu erstellen, die den Spieler Text und prüft, ob relevante Antworten nimmt. Um dies zu tun, werden Sie Wörterbücher und Funktionen zu verwenden, und fügen Sie in ein paar neue Ideen in Bezug auf Loops, Strings und Entscheidungsfindung.

Die Funktion ist nur 12 Zeilen lang, aber es ist ziemlich anspruchsvoll. Es muss nehmen, was der Spieler eingegeben, und prüfen Sie in ihm jedes Wort, um zu sehen, ob das Wörterbuch eine Antwort für dieses Wort hat. Der Spieler könnte mehr als ein Wort verwenden, die im Wörterbuch ist.

Zum Beispiel, wenn der Spieler sagt: "Ich liebe Popmusik", die Worte Liebe und Musik- kann sowohl in dem Wörterbuch. Alternativ kann der Spieler keine Worte verwenden, erkennt das Programm, so müssen Sie Ihre Funktion zu entwerfen auch mit dieser Situation fertig zu werden.

Hier ist die Funktion in seiner Gesamtheit, so kann man sehen, wie alle Bits passen zusammen:

dictionarycheck def (Nachricht): message = message.lower () playerwords = message.split () smartreplies = [] für eachword in playerwords: wenn eachword in chatdictry: Antwort = chatdictry [eachword] smartreplies.append (Antwort), wenn smartreplies: replychosen = random.randint (0, len (smartreplies)) - 1return smartreplies [replychosen] else: return ""

Die nächsten beiden Zeilen vorstellen String-Methoden. Diese sind wie eingebaute Funktionen, die an einer Schnur befestigt werden und wandeln es in irgendeiner Weise. Das niedriger() Methode konvertiert einen String in Kleinbuchstaben. Dies ist wichtig, denn wenn ein Spieler Großbuchstaben oder gemischten Fall verwendet, werden sie nicht die Klein Wörter übereinstimmen, die Sie in Ihrem Wörterbuch Schlüssel verwendet haben.

Soweit das Programm betrifft, Hallo und Hallo nicht dasselbe sind. Das Teilt() Methode nimmt einen String und teilt sie in eine Liste seiner konstituierenden Wörter. Die ersten beiden Zeilen in unserer Funktion, dann, um den Inhalt der Nachricht Variablen in eine Klein Version von sich selbst drehen, und dann eine neue Liste der Wörter erstellen die Spieler eingetragen, die so genannte playerwords.

Sie werden mögliche Antworten in einer Liste auf den Player zu speichern genannt smartreplies, so erstellen, dass als eine leere Liste.

Der nächste Schritt ist eine Schleife einrichten, die durch die Liste der Wörter geht, dass der Spieler wiederum eingetragen. Wenn Sie verwendet ein für Schleife, Sie gehen Ihren Weg durch eine Liste von Wörtern zu arbeiten. Jedes Mal, um die Schleife, die Variable jedes Wort enthält das nächste Element aus der Liste der Wörter der Spieler eingetragen.

Die nächste Zeile stellt eine neue Idee, der bedingte Anweisung, das beginnt mit ob. Eine bedingte Anweisung wird verwendet, um den Computer zu ermöglichen, eine Entscheidung darüber zu treffen, ob es bestimmte Befehle ausführen sollen. Sie werden in jedem Programm fast über sie kommen Sie schreiben. Hier ist es verwendet wird, um das Programm zu stoppen und den Hinweis auf ein Fehler zu vermeiden, wenn Sie versuchen, einen Schlüssel zu verwenden, die nicht im Wörterbuch enthalten ist:

 wenn eachword in chatdictry: Antwort = chatdictry [eachword] smartreplies.append (Antwort)

Das jedes Wort Variable enthält eines der Wörter der Spieler eingegeben, so dass die ob Anweisung prüft, ob das Wort im Wörterbuch ist und nur führt die nächsten zwei Befehle, wenn sie sind.

Beachten Sie, wie Einrücken hier verwendet wird, um anzuzeigen, welche gehören Befehle zusammen - in diesem Fall die durch die gesteuert werden Befehle ob Erklärung. Wenn das Wort in dem Wörterbuch ist, sucht das Programm sie auf und fügt das resultierende Reaktion auf die smartreplies Liste mit anhängen ().

Dieser Vorgang wird für jedes Wort wiederholt der Spieler eingegeben, aber das ist alles, was in der Schleife passiert. Die nächste Zeile wird nicht unter dem eingerückt für Aussage, so ist es nicht von ihm kontrolliert.

Wenn Sie aus der Schleife kommen, prüfen Sie, ob die Liste smartreplies hat alles drin, indem Sie einfach mit

 wenn smartreplies:

Im Englischen bedeutet dies, "wenn smartreplies in ihm hat Inhalt. "Die unter eingerückt Befehlen, die wurden nur werden, wenn einige Einträge in der Mehrdurchgeführt smartreplies Liste, die nur dann, wenn eine oder mehrere der Worte ist nun mal die Spieler im Wörterbuch gefunden eingegeben wurden.

In diesem Fall möchten Sie eines der Elemente in der zurück smartreplies Liste zum Hauptprogramm, wählen Sie so eine zufällig aus der Liste und Verwendung Rückkehr senden sie an das Hauptprogramm zurück und die Funktion beenden.

Danach verwenden Sie die sonst Befehl. Im Klartext bedeutet dies, Andernfalls, und es ist zu der verbunden ob Befehl. Also, wenn smartreplies hat Inhalt in ihm werden die Befehle ausgeführt, um eine entsprechende Antwort zufällig ausgewählt zurück zu senden.

Wenn keines der Wörter des Spielers wurden im Wörterbuch gefunden und so smartreplies leer ist, unter der die Anweisungen eingerückt sonst Befehl anstelle ausgeführt. Die Funktion sendet eine leere Nachricht (# 147- # 148-) Zurück zum Hauptprogramm und beendet die Funktion.

Menü