จงเขียนโปรแกรมที่ใช้วันเดือนปีเกิด (เดือนและวันของเดือน) เป็น input และผลที่สอดคล้องกันลงชื่อเข้าใช้องค์ประกอบและคุณภาพของการราศีตะวันตก สำหรับจุดประสงค์ของการท้าทายนี้สิ่งเหล่านี้ถูกกำหนดไว้อย่างชัดเจนในตารางในหน้าวิกิพีเดียที่เชื่อมโยง:
Sign Date Range Element Quality
Aries March 21 to April 19 Fire Cardinal
Taurus April 20 to May 20 Earth Fixed
Gemini May 21 to June 21 Air Mutable
Cancer June 22 to July 22 Water Cardinal
Leo July 23 to August 22 Fire Fixed
Virgo August 23 to September 22 Earth Mutable
Libra September 23 to October 23 Air Cardinal
Scorpio October 24 to November 20 Water Fixed
Sagittarius November 21 to December 22 Fire Mutable
Capricorn December 23 to January 20 Earth Cardinal
Aquarius January 21 to February 21 Air Fixed
Pisces February 22 to March 20 Water Mutable
กฎระเบียบ
- เครื่องหมายองค์ประกอบและคุณภาพจะคำนวณจากวันที่เข้าให้ตรงตามตารางวิกิพีเดีย
- ฉันให้อิสระมากกว่ารูปแบบวันที่อินพุต (ดูหัวข้ออินพุตด้านล่าง) คุณต้องระบุคำตอบอย่างชัดเจนว่าคุณใช้รูปแบบใด
- ถ้าวันที่ไม่ถูกต้องให้บริการวันที่ (unparsable หรือเดือนหรือวันเดือนออกจากช่วง)
Invalid date
โปรแกรมจะออกพร้อมกับข้อความ - โปรแกรมจะต้องจัดการกับการก้าวกระโดดอย่างถูกต้อง เช่นถ้า 29
Pisces, Water, Mutable
กุมภาพันธ์คือใส่แล้วออกอย่างถูกต้องจะต้องเป็น - อนุญาตให้ใช้ไลบรารี / API วันที่ของภาษาของคุณ แต่ API ใด ๆ ที่คำนวณสัญญาณของจักรราศีถูกห้าม
- “ ช่องโหว่” มาตรฐานซึ่งไม่ตลกอีกต่อไป
- นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อินพุต
- โปรแกรมอาจอ่านวันที่อินพุตจาก STDIN, บรรทัดคำสั่ง, ตัวแปรสภาพแวดล้อมหรือวิธีการใดก็ได้ที่สะดวกสำหรับภาษาที่คุณเลือก
- นี่ไม่ใช่การออกกำลังกายเป็นหลักในการแยกวิเคราะห์ดังนั้นสตริงอินพุตอาจมีให้ในรูปแบบใดก็ได้ที่คุณเลือกตราบใดที่มันประกอบด้วยคอมโพเนนต์เดือนและวันของเดือนเท่านั้นและไม่ใช่ค่าอื่น ๆ (เช่นปีหรือเวลา) . เช่น
Jul 24
หรือ24th of July
หรือ7/24
หรือ24/07
รูปแบบอะไรก็ตามที่สะดวก หากอินพุตไม่ตรงกับรูปแบบอินพุตที่คุณเลือกจะถูกป้อนดังนั้นInvalid date
จะต้องโยนข้อผิดพลาด
เอาท์พุต
- โปรแกรมจะส่งออกไปยัง STDOUT, กล่องโต้ตอบหรือวิธีการแสดงผลใด ๆ ที่สะดวกสำหรับภาษาที่คุณเลือก
- รูปแบบผลลัพธ์จะเป็นเครื่องหมายองค์ประกอบและคุณภาพคั่นด้วยเครื่องหมายจุลภาคและช่องว่าง:
Sign, Element, Quality
ตัวอย่าง
Input Output
1/1 Capricorn, Earth, Cardinal
2/29 Pisces, Water, Mutable
7/24 Leo, Fire, Fixed
13/1 Invalid date
2/31 Invalid date
-1/-1 Invalid date
1st of Golfember Invalid date
Jan 21 -> 21
, Feb 5 -> 36
) รูปแบบการป้อนข้อมูลที่ถูกต้อง?