Introdução:
Como é quase o Halloween, eu estava pensando em alguns desafios aleatórios com o tema do Halloween. Eventualmente, eu estava lendo a página da Wikipedia de Frankenstein e me deparei com o seguinte texto:
A criatura
Parte da rejeição de Frankenstein à sua criação é o fato de ele não dar um nome a ela, o que causa falta de identidade. Em vez disso, é referido por palavras como "desgraçado", "monstro", "criatura", "demônio", "diabo", "demônio" e "ele". Quando Frankenstein conversa com a criatura no capítulo 10, ele a aborda como "inseto vil", "monstro detestável", "demônio", "demônio miserável" e "demônio detestável".
Desafio:
Dados dois números inteiros (ano e capítulo), produza uma string com base nas seguintes regras:
- Se o ano for menor que 1818: envie uma string vazia †
- Se o ano for exatamente 1818 e o capítulo for inferior a 10: faça uma saída aleatória sequência da lista
["wretch", "monster", "creature", "demon", "devil", "fiend", "it"]
- Se o ano for exatamente 1818 e o capítulo for 10 ou superior: faça uma saída aleatória sequência da lista
["vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"]
- É o ano acima de 1818 (e, portanto, o livro foi publicado), retorno
"Frankenstein's Monster"
.
Regras do desafio:
- Você pode optar por imprimir em minúsculas, maiúsculas ou uma combinação.
- O ano estará sempre na faixa
1500-2017
- O capítulo sempre estará no intervalo
1-24
(se eu pesquisar no Google corretamente, o livro terá 24 capítulos) - † Em vez de produzir uma cadeia vazia para a opção 1, você também estão autorizados a saída
null
,undefined
,false
,0
, ou qualquer outro valor de sua escolha não faz parte das outras três opções (especificar o que você usou em sua resposta). - A saída não pode conter espaços / guias à esquerda ou à direita, nem nenhuma nova linha à esquerda. Pode conter uma nova linha opcional à direita.
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - As regras padrão se aplicam à sua resposta, para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados, programas completos. Sua chamada.
- As brechas padrão são proibidas (especialmente 'Números aleatórios falsos' ).
- Se possível, adicione um link com um teste para o seu código.
- Além disso, adicione uma explicação, se necessário.
Casos de teste:
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"