Я представляю вам тест! Ваш тест - це перевірити. Тест полягає у тестуванні випробуваного з тестами, який дає вам тестер, у короткому обсязі тесту коду. Зокрема, ви дасте тест з декількома варіантами, який ви отримали в якості вхідного даних.
У цьому виклику ви повинні взяти такий вклад:
1. Our site is called Programming Puzzles & Code ________.
A: Debugging
*B: Golf
C: Hockey
D: Programming
2. What is the *most* popular tag on our site?
A: [debug]
B: [program]
*C: [code-golf]
D: [number]
E: [c++]
3. We are part of the ________ Exchange network.
*A: Stack
B: Code
C: Programmer
D: Hockey
4. Is this the first question?
A: Yes
*B: No
5. Is this the last question?
*A: Yes
B: No
Ось приклад тестування:
1. Our site is called Programming Puzzles & Code ________.
A: Debugging
B: Golf
C: Hockey
D: Programming
answer: B
correct!
2. What is the *most* popular tag on our site?
A: [debug]
B: [program]
C: [code-golf]
D: [number]
E: [c++]
answer: C
correct!
3. We are part of the ________ Exchange network.
A: Stack
B: Code
C: Programmer
D: Hockey
answer: B
incorrect! the answer was A
4. Is this the first question?
A: Yes
B: No
answer: B
correct!
5. Is this the last question?
A: Yes
B: No
answer: B
incorrect! the answer was A
overview:
3 correct, 2 incorrect (60%)
3. We are part of the ________ Exchange network.
you chose B: Code
the answer was A: Stack
5. Is this the last question?
you chose B: No
the answer was A: Yes
Офіційна специфікація:
- Вхідні дані
- Якщо рядок починається з числа, за яким слідує крапка і пробіл, це питання з цим числом. Числа завжди починатимуться з 1 і підніматимуть по 1 кожне питання.
- Якщо рядок починається з необов’язкової зірочки, літери, двокрапки, а потім пробілу, це відповідь. Відповіді також завжди будуть послідовними. Буде лише одна правильна відповідь на запитання.
- Рядок не розпочнеться будь-яким іншим способом, ніж згадані раніше.
- Введення може бути прийнято будь-яким способом (читання з файлу, stdin тощо), але не повинно бути жорстко введено у вашу програму.
- Результат (фаза випробування)
- Спочатку друкуйте кожне запитання послідовно. Роздрукуйте питання та його відповіді, як отримано на вводі, але не друкуйте зірочкою із зазначенням правильних відповідей.
- Потім надрукуйте новий рядок і
"answer: ". Зачекайте на введення користувачем. Введення користувача завжди відповідатиме відповіді. - Якщо правильна відповідь (відповідна зірочкою) така сама, як та, яку вводить користувач, виведіть
"correct!". В іншому випадку виведіть"incorrect! the answer was " + correct_letter. - Кожне питання відокремте порожнім рядком, а потім повторіть попередні кроки виведення, поки не буде більше запитань.
- Результат (фаза огляду)
- Друк,
"overview: "а потім новий рядок. - Друк
"{number of correct answers} correct, {incorrect answers} incorrect ({percent correct, rounded to the nearest whole number}%)"(звичайно, замінюючи фрази фігурними дужками відповідним значенням). Потім надрукуйте порожній рядок для пробілу. - Тепер для кожного питання, яке було неправильним, надрукуйте це питання (не його відповіді), потім на новому рядку
"you chose " + answer_you_choseта в іншому рядку"the answer was " + correct_answer. Відокремте огляд кожної неправильної відповіді порожнім рядком.
- Друк,
- Щоб зменшити обман, досліджуючи речі буквально, коли тут дається однаковий вихід і той самий вхід на етапі тестування, ваша програма повинна виводити точно те саме, що і вихідний зразок.
Це код-гольф ; виграє найкоротший код! (І отримує позначку A + (зелена галочка)!)

\d\., наприклад ,\w:і\*в середині питань / відповідей. (Наприклад, зараз це*можна усунути за допомогоюy/*//, тоді як правильний шлях тривалий якs/^\*//.)