go-chat-bot / bot

IRC, Slack, Telegram and RocketChat bot written in go
MIT License
824 stars 194 forks source link

Wirbeltier #145

Closed didihz closed 1 year ago

didihz commented 1 year ago

import random

Definieren der Klassen mit Merkmalen und Beispielen

classes = { "Fische": { "Merkmale": "Fische sind Wirbeltiere mit Kiemen, Schuppen und Schwimmblasen.", "Beispiele": ["Lachs", "Forelle", "Haifisch", "Seepferdchen"] }, "Amphibien": { "Merkmale": "Amphibien sind Wirbeltiere, die im Wasser und an Land leben können und feuchte, schuppige Haut haben.", "Beispiele": ["Kröte", "Frosch", "Salamander", "Axolotl"] }, "Reptilien": { "Merkmale": "Reptilien haben trockene Haut mit Schuppen oder Platten und legen Eier mit einer harten Schale.", "Beispiele": ["Krokodil", "Schlange", "Eidechse", "Schildkröte"] }, "Vögel": { "Merkmale": "Vögel haben Federn, einen harten Schnabel und legen Eier.", "Beispiele": ["Adler", "Papagei", "Pinguin", "Kolibri"] }, "Säugetiere": { "Merkmale": "Säugetiere haben eine weiche Haut, Haare oder Fell, und produzieren Milch, um ihre Jungen zu ernähren.", "Beispiele": ["Elefant", "Fledermaus", "Delphin", "Affe"] } }

Begrüßungsnachricht

def greet(): print("Hallo! Ich bin ein Chatbot, der Fragen über Wirbeltiere beantworten kann. Welche Klasse von Wirbeltieren interessiert Sie?")

Antwort auf die Frage des Benutzers

def respond(message): for key in classes: if key.lower() in message.lower(): reply = classes[key]["Merkmale"] + " Einige Beispiele für " + key + " sind " + ", ".join(classes[key]["Beispiele"]) + "." return reply return "Es tut mir leid, ich habe Ihre Frage nicht verstanden. Bitte stellen Sie eine andere Frage oder fragen Sie nach einer anderen Wirbeltierklasse."

Chat-Schleife

greet() while True: message = input("> ") if message.lower() == "exit": break else: print(respond(message))