ฉันเสนอให้คุณทดสอบ! การทดสอบของคุณคือการทดสอบ การทดสอบคือการทดสอบผู้ทดสอบด้วยการทดสอบที่ผู้ทดสอบให้ในจำนวนรหัสการทดสอบ shor คุณจะให้การทดสอบแบบปรนัยที่คุณได้รับเป็นอินพุต
ในการท้าทายนี้คุณต้องรับอินพุตดังนี้:
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/^\*//)