คุณเคยถามผู้แปลว่า "ทำไม" พวกเราส่วนใหญ่ผิดหวังเมื่อรหัสไม่ทำงานตามที่ควร Mathworks ได้ใช้ฟังก์ชั่นเล็ก ๆ น้อย ๆ ที่ดีwhyตอบคำถาม เพื่อให้ตัวอย่างจาก MATLAB:
why
The programmer suggested it.
why
To fool the tall good and smart system manager.
why(2)
You insisted on it.
why(46)
Bill insisted on it.
งานของคุณคือการใช้whyฟังก์ชั่นในภาษาของคุณ ฟังก์ชั่นควรทำงานกับและไม่มีอาร์กิวเมนต์อินพุต (หรือใช้อินพุต0หรือ-1) ฟังก์ชั่นจะต้องตั้งชื่อwhy(หรือการเขียนwhy(n)ใน STDIN ควรส่งผลให้สตริงที่เหมาะสมจะถูกพิมพ์)
หากไม่มีการกำหนดอาร์กิวเมนต์หรืออาร์กิวเมนต์เป็นศูนย์หรือลบสตริงเอาต์พุตควรเป็นวลีสุ่มที่ถูกต้อง ดังนั้นควรจะมีฟังก์ชั่นwhy, why(), why(0)หรือwhy(-1)ว่าผลตอบแทนที่เป็นประโยคแบบสุ่ม
หากมีการป้อนค่าอาร์กิวเมนต์nจะได้รับ (อาร์กิวเมนต์ของฟังก์ชันไม่ใช่ STDIN) เอาต์พุตควรเป็นสตริง n'th (กำหนดไว้ด้านล่าง) ดังนั้นwhy(1)ควรส่งผลลัพธ์ (พิมพ์ / แสดง) ผลลัพธ์เดียวกันเสมอ
ประโยคที่ถูกสร้างขึ้นดังต่อไปนี้ (ประเภท 1, ประเภท 2 และพิเศษ) !จบประโยคทั้งหมดที่มี
"Person" "ending" !
"Verb" "adjective" "Person" !
A list of special cases
รายชื่อบุคคล:
Stewie
Peter
Homer
The programmer
The system manager
You
รายการสิ้นสุด:
suggested it
insisted on it
did it
รายการคำกริยาคือ:
To fool
To satisfy
To please
รายการคำคุณศัพท์:
the smart
the bald
the tall
the rich
the stupid
รายการกรณีพิเศษ:
How should I know?
Stop asking!
Don't ask!
วิธีเลือกหมายเลขที่กำหนดคือ:
ประเภทของประโยค:
Odd number => Type 1
Even number => Type 2
n % 7 = 0 => Type 3 (% is the modulus operator)
ชื่อ: ชื่อที่ n ถูกกำหนดโดยใช้โมดูลัส (%)
n = 1: 1 % 7 => Stewie
n = 2: 2 % 7 => Peter
...
n = 6: 6 % 7 => You
n = 7: 7 % 7 => How should I know?
n = 11: 11 % 7 => The programmer
n = 14: 14 % 7 => Stop asking!
n = 21: 21 % 7 => Don't ask!
ตอนจบ: ตอนจบที่ n ยังถูกกำหนดโดยใช้โมดูลัส สมมติว่าตอนจบ (1, 2 และ 3) (1 2 2 3)มีการระบุไว้เช่น เนื่องจากตัวเลขคี่ใช้เสมอ((n+1)/2 % 4)
n = 1: ((1+1)/2 % 4) => suggested it
n = 3: ((3+1)/2 % 4) => insisted on it
n = 13: ((13+1)/2 % 4) => did it
คำคุณศัพท์: คำคุณศัพท์ที่ n ถูกกำหนดโดยใช้โมดูลัส ในขณะที่ตัวเลขเสมอแม้ใช้:(n % 10)/2
n = 2: (2 % 10)/2 => Smart
n = 6: (6 % 10)/2 => The tall
...
คำกริยา: คำกริยาที่ n ยังถูกกำหนดโดยใช้โมดูลัส สมมติว่าคำกริยา (1, 2 และ 3) มีการระบุไว้เช่น(1 2 2 3)เดียวกับที่ตัวเลขมักจะเป็นคำกริยาให้ใช้เสมอ(n % 8) / 2
n = 2: (2 % 8)/2 => To fool
n = 4: (4 % 8)/2 => To satisfy
n = 6: (6 % 8)/2 => To satisfy
n = 8: (8 % 8)/2 => To please
ตอนนี้วิธีการสร้างแบบสุ่มควรจะค่อนข้างง่ายเพียงเลือกแบบสุ่ม nตอนนี้วิธีที่จะสร้างแบบสุ่มหนึ่งควรจะค่อนข้างง่ายเพียงแค่เลือกแบบสุ่ม
ตัวอย่างบางส่วน:
why
You suggested it!
why
To fool the tall Homer!
why
Don't ask!
why(1)
Stewie suggested it!
why(14)
Stop asking!
why(8)
To please the rich Stewie!
บังคับใช้กฎกอล์ฟมาตรฐาน ผู้ชนะจะได้รับการคัดเลือกหนึ่งสัปดาห์จากวันที่มีการโพสต์ความท้าทาย
/2ทำงาน ที่ให้ค่าเศษส่วน 13ควรเป็นinsisted(14/2 = 7% 4 = 3 = 2nd ยืนยัน)
the rich The programmerเนื่องจากเนื่องจากที่ระบุไว้the?
TheและToในรายการของคุณควรอาจจะเป็นตัวพิมพ์เล็กเพื่อให้ตรงกับตัวอย่างของคุณ ...
whyหรือจะWHYเป็นที่ยอมรับ?