Стандартизированное тестирование обычно идет со скан-троном или документом с ответом какого-либо типа, в котором записан ваш ответ. Затем компьютер или человек проверит ваши ответы и определит вашу оценку. Таким образом, здесь, учитывая скан-трон и ключ ответа, определите оценку и пропущенные вопросы, если таковые имеются. Скан-трон - это просто документ с несколькими строками с ответами, которые пользователь заполняет (в данном случае обведено кружком). Пример:
---
1. |a| b c d
---
Как вы можете видеть, это вопрос 1 с a
выбранным выбором ответа, поскольку вокруг него есть рамка. Для вызова, вы получите скан-Tron с n
вопросами ( 1 <= n <= 10
) только с четырьмя ответами обозначается как a
, b
, c
или d
. Ключ ответа будет представлен в виде строки без пробелов и со всеми строчными буквами. Пример скан-трона с ключом ответа:
Scan-tron
---
1. |a| b c d
---
---
2. a |b| c d
---
---
3. a b |c| d
---
Answer Key
abb
Вы можете взять ключ ответа и скан-трон в качестве отдельных входов или в выбранном порядке, пока они могут быть идентифицированы (т. Е. Ключ ответа отделен от скан-трона). Результаты будут округлены до десятых долей. Пример вывода для вышеупомянутого:
Score: 66.7
Missed #: 3
Другой приемлемый ответ будет:
66.7
3
или если пропущено несколько вопросов
66.7
3 4 5
до тех пор, пока номера вопросов для пропущенных отделены от пробелов и не находятся на одной строке с оценкой.
Правила и характеристики
- Скан-трон может быть введен как многострочная строка или один вопрос за раз (так как строка с символами новой строки допустима)
- Имея скан-трон и ключ ответа, вы должны вывести оценку в одну строку, а вопрос (-ы) пропустить в другой, с числами, разделенными пробелами. Если вопросы не пропущены, номера вопросов не должны выводиться
- Результаты округлены до десятых
Выбранные ответы окружены этим полем:
--- | | ---
- На скан-троне каждый вопрос занимает три пробела (верх и низ поля занимают две лишние строки)
- Должен работать для приведенного выше примера
- Предположим, что всегда будет только один ответ в штучной упаковке
Критерии победы
Самый короткий код выигрывает!
50
приемлемой или должна быть50.0
?Ответы:
05AB1E , 43 байта
Попробуйте онлайн!
объяснение
источник
С накоплением , 68 + 1 = 69 байт
Попробуйте онлайн! +1 за
-p
флаг (этот скрипт может быть выполнен какstacked -pe "..."
)Принимает два входа с вершины стека.
Некоторые интересные особенности:
Это дает все буквы, окруженные трубами.
Это дает нам все неправильные номера вопросов.
источник
Питон 2 ,
9493 байта-1 байт благодаря L3viathan
Попробуйте онлайн!
источник
100.
на1e2
Пип ,
4946444845 байтТьфу, это округление занимает так много байтов ... 44 байта кода, +1 за
-s
флаг.Принимает ввод как аргументы командной строки (страница scan-tron будет нуждаться в цитировании и экранировании строк новой строки, если вы запускаете ее из фактической командной строки). Сначала выводятся пропущенные вопросы, затем оценка. Попробуйте онлайн!
объяснение
Я собираюсь сделать это в двух частях: неверный список вопросов и оценка.
источник
JavaScript (ES6), 88 байт
Я мог бы сэкономить 5 байтов, используя запятые и возвращая все в одну строку:
источник
Пакетный, 242 байта
Сначала читает ключ ответа на STDIN, затем
n*3
строки с вопросами. Примечание. Счет печатается без начального нуля, если он меньше1.0
. Пропущенные ответы печатаются с пробелом.источник
CJam ,
4745 байтПопробуйте онлайн!
объяснение
Программа состоит из трех основных частей:
После этого раздела у нас есть массив
0
s и1
s, где0
указывает неправильный ответ и1
правильный ответ.После этого раздела в стеке содержится только правильный / неправильный список, и выводится процентная оценка.
источник
Джольф, 46 байт
Я не могу сломать 46 байтов. У меня есть два решения этой длины. Попробуйте здесь!
(Заменить
□
с0x7f
в следующем)В любом случае, 15 байт для округления:
mX*~1/-lζlγlζ_1
. Они, по большей части, одинаковы, за исключением того, что один использует регулярное выражение для получения результатов, а другой разбивает на каналы.источник