Вступление:
Поскольку сейчас почти Хэллоуин, я просто думал о некоторых случайных темах на Хэллоуин. В конце концов я прочитал страницу Википедии Франкенштейна и наткнулся на следующий текст:
Существо
Частью неприятия Франкенштейном его творчества является тот факт, что он не дает ему имя, что вызывает отсутствие идентичности. Вместо этого на него ссылаются такие слова, как «негодяй», «монстр», «существо», «демон», «дьявол», «изверг» и «оно». Когда Франкенштейн разговаривает с существом в главе 10, он обращается к нему как «мерзкое насекомое», «отвратительный монстр», «злодей», «отвратительный дьявол» и «отвратительный дьявол».
Вызов:
Учитывая два целых числа (год и главу), выведите строку, основанную на следующих правилах:
- Если год меньше 1818: выведите пустую строку †
- Если год ровно 1818, а глава меньше 10: выведите случайную строку из списка
["wretch", "monster", "creature", "demon", "devil", "fiend", "it"]
- Если год ровно 1818, а глава 10 или выше: выведите случайную строку из списка
["vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"]
- Является ли год выше 1818 (и, таким образом, книга была опубликована), возвращение
"Frankenstein's Monster"
.
Правила вызова:
- Вы можете выбрать, выводить ли строчную, прописную или комбинацию.
- Год всегда будет в диапазоне
1500-2017
- Глава всегда будет в пределах досягаемости
1-24
(если я правильно погуглил, книга состоит из 24 глав) - † Вместо вывода пустой строки для варианта 1, вы также разрешается выход
null
,undefined
,false
,0
, или любое другое значение по своему усмотрению не являются частью других трех вариантов (пожалуйста , укажите , что вы использовали в своем ответе). - Вывод не может содержать ни начальных, ни конечных пробелов / табуляций, ни каких-либо начальных новых строк. Он может содержать один дополнительный трейлинг новой строки.
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте найти как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с соответствующими параметрами, полные программы. Ваш звонок.
- Лазейки по умолчанию запрещены (особенно «Ложные случайные числа» ).
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Также, пожалуйста, добавьте объяснение, если это необходимо.
Тестовые случаи:
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"