Viết chương trình lấy ngày sinh (tháng và ngày) làm đầu vào và xuất ra dấu hiệu, yếu tố và chất lượng tương ứng của cung hoàng đạo phương tây . Đối với mục đích của thử thách này, chúng được xác định chính xác như trong bảng trong trang wikipedia được liên kết:
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
Quy tắc
- Dấu hiệu, yếu tố và chất lượng sẽ được tính từ ngày đầu vào chính xác theo bảng wikipedia.
- Tôi đang cho một số tự do về định dạng ngày đầu vào (xem Đầu vào phần bên dưới). Bạn phải nêu rõ trong câu trả lời của bạn định dạng bạn đang sử dụng.
- Nếu một ngày không hợp lệ được cung cấp (ngày không thể phát hiện được, hoặc tháng hoặc ngày ngoài tháng), chương trình sẽ thoát với thông báo
Invalid date
. - Chương trình phải xử lý chính xác năm nhuận. tức là nếu ngày 29 tháng 2 là đầu vào, thì đầu ra phải chính xác
Pisces, Water, Mutable
. - Thư viện / API ngày của ngôn ngữ của bạn được cho phép, nhưng bất kỳ API nào tính toán cụ thể các dấu hiệu của cung hoàng đạo đều bị cấm.
- Lỗ hổng tiêu chuẩn của người Viking không còn buồn cười
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng.
Đầu vào
- Chương trình có thể đọc ngày đầu vào từ STDIN, dòng lệnh, biến môi trường hoặc bất kỳ phương thức nào thuận tiện cho ngôn ngữ bạn chọn.
- Đây không phải chủ yếu là một bài tập về phân tích dữ liệu, do đó, chuỗi đầu vào có thể được cung cấp ở bất kỳ định dạng nào bạn chọn, miễn là nó chỉ bao gồm các thành phần tháng và ngày và không phải các giá trị khác (như năm hoặc thời gian) . Ví dụ
Jul 24
,24th of July
hoặc7/24
hoặc24/07
hoặc bất kỳ định dạng nào là thuận tiện. Nếu đầu vào không phù hợp với lựa chọn định dạng đầu vào của bạn được nhập, thìInvalid date
phải ném lỗi.
Đầu ra
- Chương trình sẽ xuất ra STDOUT, hộp thoại hoặc bất kỳ phương thức hiển thị nào thuận tiện cho ngôn ngữ bạn chọn.
- Định dạng đầu ra sẽ là dấu hiệu, thành phần và chất lượng được phân tách bằng dấu phẩy và dấu cách:
Sign, Element, Quality
Ví dụ
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
) một định dạng đầu vào hợp lệ?