Freitag, 26. November 2010
Multiple-Choice-Tests bearbeiten
Optionale Aufgabe (freiwillig)!
Schreiben Sie ein Programm, das eine Datenstruktur, mit der man Multiple-Choice-Tests erzeugen kann, aus einer Textdatei erstellt. Das Format der Textdatei soll anhand eines Beispiels gezeigt werden:
Schreiben Sie ein Programm, das eine Datenstruktur, mit der man Multiple-Choice-Tests erzeugen kann, aus einer Textdatei erstellt. Das Format der Textdatei soll anhand eines Beispiels gezeigt werden:
Das ist der einleitende Text, der einfach in einen String Namens "einleitung" gelesen werden soll. Mit allen Zeichen und Zeilenumbrüchen. Diese Einleitung endet mit zwei leeren Zeilen. Das ist die erste Frage. Der Text dieser Frage kann sich auch über mehrere Zeilen erstrecken. Allerdings soll so ein Text ohne die Zeilenumbrüche übernommen werden (Zeilenümbrüche durch Leerzeichen ersetzen). Die weiteren Informationen sind durch mindestens zwei Leerzeichen eingerückt gleich nach diesem Text. Optional darf eine Leerzeile stehen. Optionaler Text, der wie die Einleitung mit allen Umbrüchen so übernommen werden soll, wie er in der Datei ist, jedoch ohne die Einrückung. Alle weiteren Informationen kommen wieder eingerückt, optional mit einer Leerzeile abgetrennt. Die Punkte für diese Frage sind in runde Klammern zu setzen (am Anfang der Zeile mit Einrückung). Gibt es keine Punkte, so ist 1 zu verwenden. Optional kann in { } eine Zahl > 0 und <= 1 angegeben werden, welche als "Faktor" zu interpretieren ist. Wieder nur mit passender Einrückung. (Der Faktor soll angeben, welcher Anteil an richtigen und falschen Antworten dann bei der Erzeugung der Tests verwendet werden soll, 0.5 bedeutet die Hälfte). (2) {0.75} [X] Das ist eine richtige Antwort. [ ] Das ist eine falsche Antwort. [X] Das ist eine richtige Antwort, die sich über mehrere Zeilen erstrecken kann. [ ] Das ist eine falsche Antwort, die sich über mehrere Zeilen erstrecken kann. Die Einrückung ist wieder wesentlich. Die Zeilenumbrüche und die Einrückung sind zu entfernen. Das ist die nächste Frage, sie wird mit zwei Leerzeilen von der vorigen abgetrennt. Es muss keine weitere Information angegeben sein. In diesem Fall wäre es eine 1-Punkte-Frage ohne Auswahl- möglichkeiten, also eine direkt zu beantwortende Frage. Die Dritte Frage. Ist nun eine 1-Punkte Frage ohne Faktor und ohne Text. [ ] Falsche Lösung. [X] Richtige Lösung. [ ] Falsche Lösung.Am Ende der Datei brauchen natürlich keine Leerzeilen mehr sein. Das Programm soll solche Dateien einlesen und folgende Variable setzen:
einleitung
mit dem einleitenden Text. fragen
, einer Liste von Fragen. Jede Frage ist ein Dictionary mit folgenden Schlüssel und Werten:"frage"
mit dem Text der Frage."text"
mit dem optionalen Text (oder eben nicht)."punkte"
mit den gelesenen Punkten oder 1."faktor"
mit dem gelesenen Faktor (oder gar nicht)."richtig"
mit einer Liste der richtigen Antworten (ohne"[X]"
)."falsch"
mit einer Liste der richtigen Antworten (ohne"[ ]"
).
Labels: Aufgabe, POS1-2, Python
Abonnieren Posts [Atom]
Kommentar veröffentlichen