Les tests standardisés sont généralement fournis avec un scan-tron ou un type de document de réponse qui enregistre votre réponse. Un ordinateur ou des humains vérifieraient alors vos réponses et détermineraient votre note. Alors ici, étant donné un scan-tron et le corrigé, déterminez le score et les questions manquées le cas échéant. Un scan-tron n'est qu'un document de plusieurs lignes avec des réponses dans lesquelles l'utilisateur remplit (dans ce cas, encerclé). Exemple:
---
1. |a| b c d
---
Comme vous pouvez le voir, il s'agit de la question 1 avec le choix de réponse a
sélectionné car il y a une boîte autour. Pour relever le défi, vous recevrez un scan-tron avec des n
questions ( 1 <= n <= 10
) avec seulement quatre réponses notée a
, b
, c
ou d
. La clé de réponse sera donnée sous la forme d'une chaîne sans espaces et en minuscules. Exemple de scan-tron avec corrigé:
Scan-tron
---
1. |a| b c d
---
---
2. a |b| c d
---
---
3. a b |c| d
---
Answer Key
abb
Vous pouvez prendre la clé de réponse et scan-tron comme entrées séparées ou dans un ordre choisi tant qu'elles peuvent être identifiées (c'est-à-dire que la clé de réponse est séparée de la scan-tron). Les scores seront arrondis au dixième de point le plus proche. Exemple de sortie pour ce qui précède:
Score: 66.7
Missed #: 3
Une autre réponse acceptable serait:
66.7
3
ou si plusieurs questions sont manquées
66.7
3 4 5
tant que les numéros de question pour ceux manqués sont séparés des espaces par et non sur la même ligne que le score.
Règles et spécifications
- Le scan-tron peut être entré comme une chaîne multi-lignes ou une question à la fois (comme une chaîne avec des retours à la ligne est acceptable)
- Étant donné un scan-tron et une clé de réponse, vous devez afficher le score sur une ligne et la ou les questions manquées sur une autre, les nombres étant séparés par des espaces. Si aucune question n'est manquée, aucun numéro de question ne doit être fourni
- Les scores sont arrondis au dixième près
Les réponses sélectionnées sont entourées de cette case:
--- | | ---
- Sur le scan-tron, chaque question prend trois espaces (le haut et le bas de la boîte prennent deux lignes supplémentaires)
- Doit fonctionner pour l'exemple ci-dessus
- Supposons qu'il n'y aura toujours qu'une seule réponse dans une case
Critères gagnants
Le code le plus court gagne!
50
acceptable ou doit-il l'être50.0
?Réponses:
05AB1E , 43 octets
Essayez-le en ligne!
Explication
la source
Empilé , 68 + 1 = 69 octets
Essayez-le en ligne! +1 pour le
-p
drapeau (ce script peut être exécuté commestacked -pe "..."
)Prend deux entrées du haut de la pile.
Quelques fonctionnalités intéressantes:
Cela donne toutes les lettres entourées de tuyaux.
Cela nous donne tous les numéros de questions incorrects.
la source
Python 2 ,
9493 octets-1 octet grâce à L3viathan
Essayez-le en ligne!
la source
100.
par1e2
Pip ,
4946444845 octetsUgh, cet arrondi prend tellement d'octets ... 44 octets de code, +1 pour le
-s
drapeau.Prend les entrées en tant qu'arguments de ligne de commande (la page scan-tron devra citer et échapper des sauts de ligne si vous l'exécutez à partir d'une ligne de commande réelle). Sort d'abord les questions manquées, puis le score. Essayez-le en ligne!
Explication
Je vais le faire en deux parties: la liste des questions incorrectes et le score.
la source
JavaScript (ES6), 88 octets
Je pourrais économiser 5 octets en utilisant des virgules et en renvoyant le tout sur une seule ligne:
la source
Lot, 242 octets
Lit d'abord le corrigé sur STDIN, puis les
n*3
lignes de questions. Remarque: la partition est imprimée sans zéro non significatif si elle est inférieure à1.0
. Les réponses manquées sont imprimées avec un espace de tête.la source
CJam ,
4745 octetsEssayez-le en ligne!
Explication
Le programme se compose de trois parties principales:
Après cette section, nous avons un tableau de
0
s et1
s, où0
indique une mauvaise réponse et1
une bonne réponse.Après cette section, la pile ne contient que la bonne / mauvaise liste et le score en pourcentage a été généré.
la source
Jolf, 46 octets
Je n'arrive pas à casser 46 octets. J'ai deux solutions de cette longueur. Essayez-en un ici!
(Remplacer
□
par0x7f
dans le suivant)Dans les deux cas, 15 octets pour arrondir:
mX*~1/-lζlγlζ_1
. Ils sont, pour la plupart, les mêmes, sauf que l'un utilise une correspondance d'expressions régulières pour obtenir les résultats, et l'autre se divise sur les tuyaux.la source