Jestem nauczycielem i za kilka dni muszę dać moim uczniom test. Teraz zawsze martwię się o to, że moi najpiękniejsi studenci zostaną skrzywdzeni przez najmniej kochanych, gdy oszukują, dlatego chcę losowo przeprowadzać testy, aby nikt nie mógł oszukiwać nikogo.
W tej chwili mam zapisane testy w tym formacie:
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
++
Oznacza to, że pytania są oddzielone pojedynczym pustym wierszem, a odpowiedzi są poprzedzone dwoma spacjami. Oto wynik, którego potrzebuję:
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
Oznacza to, że każda odpowiedź na pytanie w losowej kolejności, a także losowa kolejność pytań. Pamiętaj, że jeśli odpowiedź brzmi „Żadne z powyższych”, powinna pozostać na dole. Każde pytanie ma zawsze dokładnie cztery odpowiedzi, a „Żadne z powyższych” nie pojawia się tylko jako ostatni wybór odpowiedzi - i nigdy nie pojawia się jako substrat wyboru odpowiedzi, który nie jest „Żadnym z powyższych”. Niestety nie mogę przepisać wszystkich moich testów, więc musisz wziąć je w tym formacie. Ponadto moi uczniowie muszą być w stanie to przeczytać, więc nie mogę tak naprawdę pobrać wyników w żaden inny sposób (z wyjątkiem opisanych poniżej).
Nie potrzebuję, żeby był całkowicie przypadkowy. Tak długo, jak jest blisko.
Standardowe luki są zabronione.
Premia
Teraz moi uczniowie są przyzwyczajeni do tego zwykłego formatu, ale jeśli możesz sprawić, aby wyglądał tak
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
Zdejmę 25% twojego końcowego wyniku. Dostaniesz jednak dane w ten sam sposób.
To znaczy, jeśli numerujesz pytania i oznaczysz odpowiedzi. Należy pamiętać, że pytania powinny zaczynać się od 1, a odpowiedzi są od A do D.
NB: Przykłady różnią się od tych w odpowiedziach, ponieważ zmieniłem je po fakcie. Konkretne przykłady i tak nie mają sensu; odpowiedzi musiały działać z dowolnymi dowolnymi pytaniami.
Odpowiedzi:
Pyth -
48424139 bajtówBędzie pakowany sznurek.
Wypróbuj online tutaj .
źródło
JavaScript ES6, 170 bajtów
To anonimowa funkcja, nazwij ją. Uwaga: używa to metody sortowania losowego, która nie jest całkowicie losowa , ale jest wystarczająca, pod warunkiem, że nie jesteś nauczycielem prawdopodobieństwa.
Z premią 180,75 bajtów
Przetestuj to!
Pokaż fragment kodu
źródło
_=>.5-Math.random()
do zmiennejr
, do której odwołuję się później w piątej linii. Właściwie wykonuję dwa losowe rodzaje: jeden na przedmiotach, a drugi na pytaniach. Jeśli chcesz dowiedzieć się więcej o ES6, proponuję przeczytać tutaj .CJam,
54535552 bajtówZapisano 1 bajt z późniejszego wydania (dostępne w TIO). Zyskałem 2 bajty, ponieważ zapomniałem losowo uporządkować pytania. Zapisano 2 bajty z kolejnego błędu naprawionego w TIO.
Wypróbuj online!
źródło
mr
operator (losowanie), aby losowo uporządkować kolejność pytań, zanim nastąpi logika odpowiedzi.