Standardisierte Tests werden normalerweise mit einem Scan-Tron oder einem Antwortdokument geliefert, das Ihre Antwort aufzeichnet. Ein Computer oder ein Mensch würde dann Ihre Antworten überprüfen und Ihre Note bestimmen. Bestimmen Sie hier anhand eines Scan-Trons und des Antwortschlüssels die Punktzahl und die fehlenden Fragen, falls vorhanden. Ein Scan-Tron ist nur ein Dokument mit mehreren Zeilen mit Antworten, die der Benutzer ausfüllt (in diesem Fall eingekreist). Beispiel:
---
1. |a| b c d
---
Wie Sie sehen können, ist dies Frage 1 mit a
ausgewählter Antwortauswahl , da sie mit einem Kästchen versehen ist. Für die Herausforderung, werden Sie einen Scan-tron mit bestimmten n
Fragen ( 1 <= n <= 10
) mit nur vier Antworten bezeichnet als a
, b
, c
, oder d
. Der Antwortschlüssel wird als Zeichenfolge ohne Leerzeichen und mit Kleinbuchstaben angegeben. Beispiel Scan-Tron mit Antwortschlüssel:
Scan-tron
---
1. |a| b c d
---
---
2. a |b| c d
---
---
3. a b |c| d
---
Answer Key
abb
Sie können den Antwortschlüssel und das Scan-Tron als separate Eingaben oder in einer ausgewählten Reihenfolge eingeben, solange sie identifiziert werden können (dh der Antwortschlüssel ist vom Scan-Tron getrennt). Die Punktzahlen werden auf das nächste Zehntel eines Punktes gerundet. Beispielausgabe für das Obige:
Score: 66.7
Missed #: 3
Eine andere akzeptable Antwort wäre:
66.7
3
oder wenn mehrere Fragen fehlen
66.7
3 4 5
Solange die Fragenummern für die Versäumten von den Leerzeichen getrennt sind und nicht in derselben Zeile wie die Punktzahl stehen.
Regeln und Spezifikationen
- Das Scan-Tron kann als mehrzeilige Zeichenfolge oder als Frage eingegeben werden (da eine Zeichenfolge mit Zeilenumbrüchen zulässig ist).
- Bei einem Scan-Tron und einem Antwortschlüssel müssen Sie die Punktzahl in einer Zeile und die Frage (n) in einer anderen Zeile verpassen, wobei die Zahlen durch Leerzeichen getrennt sind. Wenn keine Fragen übersehen werden, sollten keine Fragenummern ausgegeben werden
- Die Punktzahlen werden auf das nächste Zehntel gerundet
Ausgewählte Antworten sind von diesem Feld umgeben:
--- | | ---
- Auf dem Scan-Tron benötigt jede Frage drei Leerzeichen (oben und unten im Feld werden zwei zusätzliche Zeilen benötigt).
- Muss für das obige Beispiel funktionieren
- Angenommen, es wird immer nur eine Antwortbox angezeigt
Gewinnkriterien
Der kürzeste Code gewinnt!
50
akzeptabel oder muss sie sein50.0
?Antworten:
05AB1E , 43 Bytes
Probieren Sie es online aus!
Erläuterung
quelle
Gestapelt , 68 + 1 = 69 Bytes
Probieren Sie es online aus! +1 für
-p
Flag (dieses Skript kann ausgeführt werden alsstacked -pe "..."
)Nimmt zwei Eingaben von der Oberseite des Stapels.
Einige interessante Funktionen:
Dies ergibt alle Buchstaben, die von Rohren umgeben sind.
Dies gibt uns alle falschen Fragenummern.
quelle
Python 2 ,
9493 Bytes-1 Byte dank L3viathan
Probieren Sie es online aus!
quelle
100.
durch1e2
Pip ,
4946444845 BytesUgh, diese Rundung benötigt so viele Bytes ... 44 Bytes Code, +1 für
-s
Flag.Übernimmt Eingaben als Befehlszeilenargumente (auf der Scan-Tron-Seite müssen Zeilenumbrüche in Anführungszeichen gesetzt und maskiert werden, wenn Sie sie über eine tatsächliche Befehlszeile ausführen). Gibt zuerst die fehlenden Fragen und dann die Punktzahl aus. Probieren Sie es online aus!
Erläuterung
Ich mache das in zwei Teilen: der Liste der falschen Fragen und der Punktzahl.
quelle
JavaScript (ES6), 88 Byte
Ich könnte 5 Bytes sparen, indem ich Kommas verwende und alles in einer Zeile zurückgebe:
quelle
Stapel, 242 Bytes
Liest zuerst den Antwortschlüssel auf STDIN und dann die Fragenzeilen ein
n*3
. Hinweis: Die Punktzahl wird ohne führende Null gedruckt, wenn sie kleiner als ist1.0
. Verpasste Antworten werden mit einem führenden Leerzeichen gedruckt.quelle
CJam ,
4745 BytesProbieren Sie es online aus!
Erläuterung
Das Programm besteht aus drei Hauptteilen:
Nach diesem Abschnitt haben wir ein Array von
0
s und1
s, wobei0
eine falsche und1
eine richtige Antwort angezeigt werden .Nach diesem Abschnitt enthält der Stapel nur die richtige / falsche Liste, und die prozentuale Bewertung wurde ausgegeben.
quelle
Jolf, 46 Bytes
Ich kann nicht scheinen, 46 Bytes zu brechen. Ich habe zwei Lösungen dieser Länge. Probieren Sie es hier aus!
(Ersetzen
□
mit0x7f
in der nächsten)In beiden Fällen 15 Bytes zum Runden :
mX*~1/-lζlγlζ_1
. Sie sind größtenteils gleich, außer dass einer eine Regex-Übereinstimmung verwendet, um die Ergebnisse zu erhalten, und der andere Teil auf Rohren.quelle