Introduzione:
Dato che è quasi Halloween, stavo solo pensando ad alcune sfide casuali a tema Halloween. Alla fine stavo leggendo la pagina di Wikipedia di Frankenstein e mi sono imbattuto nel seguente testo:
La creatura
Parte del rifiuto di Frankenstein della sua creazione è il fatto che non gli dà un nome, il che provoca una mancanza di identità. Invece è indicato da parole come "disgraziato", "mostro", "creatura", "demone", "diavolo", "diavolo" e "esso". Quando Frankenstein conversa con la creatura nel capitolo 10, lo affronta come "insetto vile", "mostro a disgusto", "diavolo", "diavolo miserabile" e "diavolo a disgusto".
Sfida:
Dati due numeri interi (anno e capitolo), genera una stringa in base alle seguenti regole:
- Se l'anno è inferiore a 1818: genera una stringa vuota †
- Se l'anno è esattamente 1818 e il capitolo è inferiore a 10: emettere una stringa casuale dall'elenco
["wretch", "monster", "creature", "demon", "devil", "fiend", "it"]
- Se l'anno è esattamente 1818 e il capitolo è 10 o superiore: emettere una stringa casuale dall'elenco
["vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"]
- È l'anno sopra il 1818 (e quindi il libro è stato pubblicato), ritorno
"Frankenstein's Monster"
.
Regole della sfida:
- È possibile scegliere se eseguire l'output in minuscolo, maiuscolo o in una combinazione.
- L'anno sarà sempre nella gamma
1500-2017
- Il capitolo sarà sempre nella gamma
1-24
(se ho cercato su Google correttamente, il libro ha 24 capitoli) - † Invece di emettere una stringa vuota per l'opzione 1, si sono anche permesso di uscita
null
,undefined
,false
,0
, o qualsiasi altro valore della vostra scelta non parte delle altre tre opzioni (si prega di specificare quello che hai utilizzato nella risposta). - L'output non può contenere spazi / tab iniziali o finali, né nuove righe iniziali. Può contenere una nuova riga finale facoltativa.
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite (in particolare i "numeri casuali falsi" ).
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se necessario.
Casi test:
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"