Size bir test sunuyorum! Testiniz test etmektir. Test, test edeni, bir test cihazının size verdiği kısa test miktarında testlerle test etmektir . Özellikle, girdi olarak aldığınız çoktan seçmeli bir test vereceksiniz.
Bu meydan okumada, böyle bir girdi almalısınız:
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
Ve burada yapılan testin bir örneği:
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
Resmi şartname:
- Giriş
- Bir çizgi bir sayı ve ardından bir nokta ve boşluk ile başlıyorsa, o sayı ile bir sorudur. Sayılar her zaman 1'den başlar ve her soruda 1 yükselir.
- Bir çizgi isteğe bağlı bir yıldız işareti, bir harf, iki nokta üst üste ve ardından boşlukla başlarsa, bu bir yanıttır. Cevaplar da her zaman sıralı olacaktır. Her soru için tek bir doğru cevap olacaktır.
- Bir çizgi daha önce belirtilen yollardan başka bir şekilde başlamaz.
- Giriş herhangi bir şekilde kabul edilebilir (bir dosyadan okuma, stdin, vb.) Ancak programınıza sabit olarak kodlanmamalıdır.
- Çıktı (test alma aşaması)
- İlk olarak, her soruyu sırayla yazdırın. Soruyu ve cevaplarını girdi olarak alındığı gibi yazdırın, ancak doğru cevapları gösteren yıldız işaretini yazdırmayın.
- Ardından, yeni satır yazdırın ve
"answer: ". Kullanıcı girişini bekleyin. Kullanıcı girişi her zaman bir cevaba karşılık gelecektir. - Doğru cevap (yıldız işareti olan) kullanıcı girdisi ile aynı ise, çıktı
"correct!". Aksi takdirde çıktı"incorrect! the answer was " + correct_letter. - Her soruyu boş bir satırla ayırın, ardından başka soru kalmayana kadar önceki çıktı adımlarını tekrarlayın.
- Çıktı (genel bakış aşaması)
- Yazdır
"overview: "ve ardından bir satırsonu. - Yazdır
"{number of correct answers} correct, {incorrect answers} incorrect ({percent correct, rounded to the nearest whole number}%)"(elbette kıvırcık parantez içindeki ifadeleri kendi değerleriyle değiştirerek). Ardından boşluk bırakmak için boş bir satır yazdırın. - Şimdi, yanlış olan her soru için, soruyu (cevaplarını değil), sonra yeni bir satıra
"you chose " + answer_you_choseve başka bir satıra yazdırın"the answer was " + correct_answer. Her yanlış cevabın genel görünümünü boş bir satırla ayırın.
- Yazdır
- Bir şeyleri tam anlamıyla yorumlayarak hile azaltmak için, burada aynı çıktı ve test alma aşamasında aynı girdi verildiğinde, programınız örnek çıktıyla tamamen aynı çıktıyı vermelidir.
Bu kod golfü ; en kısa kod kazanır! (Ve A + (yeşil onay işareti) alır!)

\d\.,\w:ve\*sorular / cevaplar ortasında. (Örneğin şu anda*ile ortadan kaldırılabiliry/*//, doğru yol olarak uzuns/^\*//.)