Library für geleitete Entscheidungen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
floatingbrainiac
User
Beiträge: 3
Registriert: Dienstag 9. Januar 2007, 13:36

Guten Abend liebes Forum,

meine Frage ist gefühlt so banal, dass ich mich fast nicht traue zu fragen. Aber da ich nun circa eine Stunde nach einer Antwort gesucht habe, poste ich sie nun hier. :oops:

Ich suche nach einer Library mit der man der/dem User einfach zu beantwortende Fragen vorgibt und abhängig von Antwort zu einer weiteren Frage weiterleitet usw... um dann schließlich zu einer Entscheidung zu gelangen. Wer professionelle Bestimmungsbücher aus der Biologie kennt oder früher sogenannte Adventure Books gelesen/gespielt hat kennt das Prinzip sicher. Vielleicht fragt ihr euch nun, warum ich das nicht einfach über einfache if/else Befehle löse... Ich möchte jedoch den Code von der Fragen/Antwort-Struktur separieren. Letztere soll in einem separaten Text-File abgelegt sein und auch für Laien einfach zu editieren sein. Kennt ihr dafür eine einfache Lib mit der das zu realisieren wäre?
nezzcarth
User
Beiträge: 1633
Registriert: Samstag 16. April 2011, 12:47

Eigentlich brauchst du dafür keine dezidierte Bibliothek und mir ist auch keine bekannt, die für sowas gedacht ist. Das lässt sich alles mit den eingebauten Datenstrukturen von Python, insb. Dictionaries, lösen. Die grobe Struktur sähe in etwa so aus:

Code: Alles auswählen

{
'START' : {('Antwort1', 'Antwort2')},
'Antwort1' : {('Antwort3', 'Antwort4')},
'Antwort2' : {('Antwort4', 'Antwort5', 'Antwort6')},
'Antwort3' : ...
}

Im tatsächlichen Einsatz hast du vmtl. dann noch Felder für Fragentexte, IDs etc.. Als Datenformat kannst du z.B. JSON oder YAML nehmen. Wenn du abgesehen von der Repräsentation auch bestimmte Algorithmen auf Graphen brauchst, kannst du evtl. auch networkX oder igraph in Betracht ziehen.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

die Aufgabenstellung ist so trivial, dass ich nicht glaube, dass es dafür eine Library gibt. Statt zu Suchen, warum schreibst Du es nicht einfach selbst?
Antworten