Ich bin ein Lehrer und in ein paar Tagen muss ich meinen Schülern einen Test geben. Jetzt mache ich mir immer Sorgen, dass meine schönsten Schüler von den am wenigsten schönen verletzt werden, wenn sie schummeln. Deshalb möchte ich die Tests nach dem Zufallsprinzip sortieren, damit niemand jemanden betrügen kann.
Im Moment habe ich meine Tests in diesem Format gespeichert:
When was Java invented?
Why does this matter?
1941
War was beginning
None of the above
What is the increment operator in Java?
Stack Overflow>how 2 incrememnt
Google>how 2 incrememnt
increment
++
Das heißt, die Fragen werden durch eine einzelne Leerzeile getrennt, und den Antworten werden jeweils zwei Leerzeichen vorangestellt. Dies ist die Ausgabe, die ich brauche:
What is the increment operator in Java?
++
increment
Google>how 2 incrememnt
Stack Overflow>how 2 incrememnt
When was Java invented?
War was beginning
1941
Why does this matter?
None of the above
Das heißt, jede Antwort auf eine Frage in einer zufälligen Reihenfolge und die Fragenreihenfolge ebenfalls in zufälliger Reihenfolge. Beachten Sie, dass die Antwort unten bleiben sollte, wenn "Keine der oben genannten Antworten" ausgewählt wurde. Jede Frage hat immer genau vier Antworten, und "Keine der oben genannten Antworten" wird immer nur als letzte Antwortauswahl angezeigt - und wird nie als Teil einer Antwortauswahl angezeigt, die nicht "Keine der oben genannten Antworten" ist. Leider kann ich nicht alle meine Tests umschreiben, daher müssen Sie sie in diesem Format ablegen. Außerdem müssen meine Schüler in der Lage sein, es zu lesen, damit ich die Ausgabe nicht wirklich auf andere Weise verarbeiten kann (außer wie unten beschrieben).
Ich brauche es nicht, um vollkommen zufällig zu sein. Solange es nah ist.
Standardlücken sind verboten.
Bonus
Nun, meine Schüler sind an dieses einfache Format gewöhnt, aber wenn Sie es so aussehen lassen können ...
1. What is the increment operator in Java?
A. ++
B. increment
C. Google>how 2 incrememnt
D. Stack Overflow>how 2 incrememnt
2. When was Java invented?
A. War was beginning
B. 1941
C. Why does this matter?
D. None of the above
Ich werde 25% von Ihrem Endergebnis abziehen. Sie werden jedoch auf die gleiche Weise eingegeben.
Das heißt, wenn Sie die Fragen nummerieren und die Antworten benennen. Bitte beachten Sie, dass die Fragen bei 1 beginnen sollten und die Antworten von A bis D sind.
NB: Die Beispiele unterscheiden sich von denen in den Antworten, weil ich sie nachträglich geändert habe. Die spezifischen Beispiele sind sowieso nicht der Punkt; Antworten mussten mit jeder beliebigen Frage funktionieren.
Antworten:
Pyth -
48424139 BytesWird String gepackt.
Probieren Sie es hier online aus .
quelle
JavaScript ES6, 170 Byte
Ist eine anonyme Funktion, nennen Sie es. Hinweis: Hierbei wird die Zufallssortierungsmethode verwendet, die nicht vollständig zufällig ist , aber ausreicht, sofern Sie kein Wahrscheinlichkeitslehrer sind.
Mit dem Bonus 180,75 Bytes
Probieren Sie es aus!
Code-Snippet anzeigen
quelle
_=>.5-Math.random()
in der Variablenr
, auf die ich später in der fünften Zeile verweise. Ich führe zwei zufällige Sortierungen durch: eine für die Gegenstände und die andere für die Fragen. Wenn Sie mehr über ES6 erfahren möchten, empfehle ich, hier zu lesen .CJam,
54535552 Bytes1 Byte durch Verwendung einer späteren Version (verfügbar bei TIO) gespart. 2 Bytes gewonnen, weil ich vergessen habe, die Reihenfolge der Fragen zufällig zu bestimmen. 2 Bytes von einem weiteren Fehler in TIO gespeichert.
Probieren Sie es online!
quelle
mr
Operator (randomize) hinzugefügt, um die Reihenfolge der Fragen zufällig zu ordnen, bevor die Antwortlogik stattfindet.