Questa domanda è scritta perché "Thing Explainer" è divertente da leggere e mi ha dato un'idea.
Scrivi "cose che fanno fare al computer cose" che legge / prende un insieme di lettere, numeri e cose del genere "#%|?
e ritorna True / 1
se tutte le parole fanno parte di questo insieme .
Se tutte le parole non fanno parte di quell'insieme, restituisci le parole che non facevano parte di esso.
Questo sito Web può essere considerato corretto in tutti i casi. Le regole sono scritte per seguire le specifiche su quel sito.
Esempi:
Verità :
Il codice dovrebbe restituire un valore di verità se l'intero testo sopra la prima riga orizzontale viene incollato come input.
Le seguenti righe dovrebbero restituire un valore di verità (l'input è separato da ###
)
This returns "Hello, World!"
###
tHiS rEtUrNs TrUe...
###
Thing Explainer is a book written by a man.
The man writes books with simple words.
###
This set of stuff "#!^{>7( must return true
Falsey :
Negli esempi seguenti, input e output sono separati da ***
. Diversi casi di test sono separati da ###
.
This code doesn't return "Hello, World!"
***
code
###
tHiS rEtUrN"s false...
***
s
false
Regole più dettagliate:
- È possibile utilizzare questo per testare il vostro codice.
- Le non lettere sono interpretate come spazi dal codice, ad eccezione di parole come
'wasn't'
. Le parole con apostrofi che restituisconotrue
sono incluse nell'elenco- Ad esempio:
foo123bar
dovrebbe tornarefoo
ebar
, poiché non fanno parte dell'elenco, e123
possono essere interpretati come spazi
- Ad esempio:
- L'input conterrà solo punti di codice ASCII stampabili [10, 32-126].
- Le parole possono contenere lettere maiuscole miste. Vedi il secondo caso di test.
- L'elenco delle parole
- dovrebbe essere preso come input (STDIN, argomento della funzione o equivalente)
- può essere modificato (le parole possono essere separate da una nuova riga, virgola ecc. e puoi ordinare l'elenco)
- Si noti che non è possibile utilizzare questo elenco (non è identico)
- L'output può essere in qualsiasi formato che ti piace
- L'output può essere maiuscolo, minuscolo o misto (opzionale)
- Non ci devono essere simboli nell'output
Per la cronaca, Jonathan Allan ha trovato uno strano caso angolare: l'implementazione su XKCD in realtà ignorerà qualsiasi lettera dopo un apostrofo fino al successivo non [AZ] [az] ['] - per esempio find's found
, ed find'qazxswedc found'
entrambi non restituiscono nulla, mentre find'qazx.swedc found
restituisce swedc
.
È possibile scegliere se non si desidera restituire nulla find'qazxswedc found'
o restituire qazxswedc
. Tornare qazx, swedc
per find'qazx.swedc
è anche OK.
Boolean
o Array<String>
, sarebbe consentito restituire un array / elenco vuoto?
1
. Un'uscita vuota non è consentita.
find'qazxswedc
input. Siamo o non dovremmo dividerci in apostrofi? Ad esempio, isn't
restituisce true
(è nell'elenco), ma isn
restituisce isn
, poiché non è nell'elenco. Da quella logica, sono andato con "non dividere sugli apostrofi" e così find'qazxswedc found
ritorna find'qazxswedc
.