Kleiner Chatbot, ich schätze es gibt viel zu vereinfachen

Du hast eine Idee für ein Projekt?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Sonntag 22. Januar 2006, 00:47

Pythonprog hat geschrieben:Ich habe jetzt die Änderunge, so gut wie es im Moment ging durchgeführt, ich hoffe, ich habe das mit der Main Funktion so richtig gemacht ( Es läuft wenigstens )

Hi Pythonprog!

In einem anderen Zusammenhang habe ich in einem Beitrag auch erklärt wie man so eine Hauptfunktion ("main()") einsetzt. Hier noch ein Beispiel dazu.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Beitragvon Mr_Snede » Sonntag 22. Januar 2006, 12:15

gerold hat geschrieben:Hier noch ein Beispiel dazu.


Da siehst du auch, wo die Docstrings hingehören.
Gast

Beitragvon Gast » Sonntag 22. Januar 2006, 17:57

So, ich habe wieder ein paar Änderungen vorgenommen und bin prompt auf eine neue Frage gestoßen:

Wie ist es möglich, dass es erkennt, wenn er auf etwas nicht geantwortet hat, daher das er die Antwort nicht kennt. Ich habe es mit einer Zählvariable versucht, dass führte aber aus mit unverständlichen Gründen, zu immer mehr Fehlfunktionen in dem Programm.
Es soll nämlich so sein, dass er dann den Benutzer nach der Antwort für die Frage fragt und diese Antwort zusammen mit der Frage abspeichert, für den Fall, dass ihm die gleiche Frage später nochmal gestellt wird.
Ich hoffe mir kann jemand helfen dies ( wenn auch nur im Ansatz, wenn es zu kompliziert wird ) umzusetzen oder mir einfach nur einen Tipp zu geben.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 22. Januar 2006, 20:22

Die Funktionsnamen solltest du generell klein schreiben (nur Klassennamen werden mit Großbuchstaben begonnen und um die main() funktion zu starten solltest du besser sowas verwenden:

Code: Alles auswählen

if __name__ == '__main__':
    main()
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Pythonprog
User
Beiträge: 20
Registriert: Donnerstag 19. Januar 2006, 16:41

Beitragvon Pythonprog » Dienstag 24. Januar 2006, 17:25

Danke, ich habe es geändert und noch ne kleine Frage.
Wäre es Sinnvoll, das Programm um ein paar Klassen reicher zu machen, ich hab mir folgendes überlegt in einer externen Datei.

Code: Alles auswählen

import string
class Funktionen:
        def __init___(self, Frage, Bedingung, Antwort):
            self.frage = Frage
            self.bedingung = Bedingung
            self.antwort = Antwort
        def Pruefe(self):
            self.index = string.find(self.frage, self.bedingung)
            if self.index > 0:
                print self.antwort

und dann dem entsprechen

Code: Alles auswählen

import MEINE DATEI.py
Funktion = MEINE DATEI.Funktionen("Hallo", "allo", "Auch hallo")
Funktion.Pruefe()

Bitte um eure Meinung
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Beitragvon modelnine » Dienstag 24. Januar 2006, 17:33

Wenn Du das ganze nicht "MEINE DATEI.py" nennst, sondern zum Beispiel "Eingaben.py" und es dann mittels "import Eingaben" importierst, gar keine schlechte Idee. Dann mußt Du Dir nur noch einfallen lassen wie Du bereits eingegebene Dinge in eine Art Datenbank serialisierst.

Unabhängig davon: Funktionen ist ein denkbar schlechter Name für diese Klasse, da er nicht im geringsten beschreibt was sie tut. Denk Dir was besseres aus.

--- Heiko.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder