Giới thiệu:
Vì sắp đến Halloween, tôi chỉ nghĩ về một số thử thách ngẫu nhiên theo chủ đề Halloween. Cuối cùng, tôi đã đọc qua trang wikipedia của Frankenstein và tình cờ thấy đoạn văn sau:
Sinh vật
Một phần trong sự từ chối của Frankenstein đối với sáng tạo của ông là việc ông không đặt tên cho nó, điều này gây ra sự thiếu bản sắc. Thay vào đó, nó được gọi bằng các từ như "khốn khổ", "quái vật", "sinh vật", "quỷ", "quỷ", "quái vật" và "nó". Khi Frankenstein trò chuyện với sinh vật trong Chương 10, anh ta gọi nó là "côn trùng ghê tởm", "quái vật ghê tởm", "quái vật", "quỷ dữ khốn khổ" và "quỷ ghê tởm".
Thử thách:
Cho hai số nguyên (năm và chương), xuất ra một chuỗi dựa trên các quy tắc sau:
- Nếu năm dưới 1818: xuất ra một chuỗi rỗng †
- Nếu năm chính xác là 1818 và chương dưới 10: xuất ra một chuỗi ngẫu nhiên từ danh sách
["wretch", "monster", "creature", "demon", "devil", "fiend", "it"]
- Nếu năm chính xác là 1818 và chương là 10 hoặc cao hơn: xuất ra một chuỗi ngẫu nhiên từ danh sách
["vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"]
- Là năm trên 1818 (và do đó cuốn sách đã được xuất bản), trở lại
"Frankenstein's Monster"
.
Quy tắc thử thách:
- Bạn có thể chọn xuất ra bằng chữ thường, chữ hoa hoặc kết hợp.
- Năm sẽ luôn trong phạm vi
1500-2017
- Chương này sẽ luôn nằm trong phạm vi
1-24
(nếu tôi hiểu chính xác, cuốn sách có 24 chương) - † Thay vì xuất ra một chuỗi rỗng cho tùy chọn 1, bạn cũng được phép ra
null
,undefined
,false
,0
, hoặc bất kỳ giá trị khác của sự lựa chọn của bạn không nằm trong ba lựa chọn khác (xin ghi rõ những gì bạn đã sử dụng trong câu trả lời của bạn). - Đầu ra có thể không chứa bất kỳ khoảng trắng / tab hàng đầu hoặc dấu, cũng như bất kỳ dòng mới hàng đầu nào. Nó có thể chứa một dòng mới tùy chọn.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
- Các lỗ hổng mặc định bị cấm (đặc biệt là 'Số ngẫu nhiên giả' ).
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
year,chapter possible outputs:
1700,1 ""; null; undefined; false; 0; etc.
1700,12 ""; null; undefined; false; 0; etc.
1817,10 ""; null; undefined; false; 0; etc.
1818,1 "wretch"; "monster"; "creature"; "demon"; "devil"; "fiend"; "it"
1818,9 "wretch"; "monster"; "creature"; "demon"; "devil"; "fiend"; "it"
1818,10 "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1818,11 "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1818,18 "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1819,1 "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"
1819,18 "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"
2017,24 "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"