Cette question est écrite parce que "Thing Explainer" est amusant à lire et m'a donné une idée.
Écrivez "des trucs qui font faire des choses à l'ordinateur" qui lit / prend un ensemble de lettres, de chiffres et d'autres choses comme ça "#%|?
et retourne True / 1
si tous les mots font partie de cet ensemble .
Si tous les mots ne font pas partie de cet ensemble, renvoyez les mots qui n'en faisaient pas partie.
Ce site Web peut être considéré comme correct dans tous les cas. Les règles sont écrites pour suivre les spécifications de ce site.
Exemples:
Vérité :
Le code doit retourner une valeur véridique si tout le texte au-dessus de la première ligne horizontale est collé en entrée.
Les lignes suivantes doivent renvoyer une valeur véridique (l'entrée est séparée par ###
)
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 :
Dans les exemples suivants, l'entrée et la sortie sont séparées par ***
. Différents cas de test sont séparés par ###
.
This code doesn't return "Hello, World!"
***
code
###
tHiS rEtUrN"s false...
***
s
false
Des règles plus détaillées:
- Vous pouvez utiliser ce pour tester votre code.
- Les non-lettres sont interprétées comme des espaces par le code, à l'exception des mots comme
'wasn't'
. Les mots avec des apostrophes renvoyéstrue
sont inclus dans la liste- Par exemple:
foo123bar
devrait retournerfoo
etbar
, comme ils ne font pas partie de la liste, et123
peuvent être interprétés comme des espaces
- Par exemple:
- L'entrée ne contiendra que des points de code ASCII imprimables [10, 32-126].
- Les mots peuvent contenir des minuscules. Voir deuxième cas de test.
- La liste des mots
- doit être pris en entrée (STDIN, argument de fonction ou équivalent)
- peut être modifié (les mots peuvent être séparés par une nouvelle ligne, une virgule, etc., et vous pouvez trier la liste)
- Notez que vous ne pouvez pas utiliser cette liste (elle n'est pas identique)
- La sortie peut être dans n'importe quel format que vous aimez
- La sortie peut être majuscule, minuscule ou mixte (facultatif)
- Il ne doit pas y avoir de symboles dans la sortie
Pour mémoire, Jonathan Allan a trouvé un cas de coin étrange: l'implémentation sur XKCD ignorera en fait toutes les lettres après une apostrophe jusqu'à la prochaine non [AZ] [az] ['] - par exemple find's found
, et les find'qazxswedc found'
deux ne renvoient rien, tandis que les find'qazx.swedc found
retours swedc
.
Vous pouvez choisir si vous ne voulez rien find'qazxswedc found'
retourner ou retourner qazxswedc
. De retour qazx, swedc
pour find'qazx.swedc
est OK.
Boolean
ou Array<String>
, le retour d'un tableau / liste vide serait-il autorisé?
1
. Une sortie vide n'est pas autorisée.
find'qazxswedc
entrée. Sommes-nous ou ne sommes-nous pas censés nous diviser sur les apostrophes? Par exemple, isn't
renvoie true
(il est dans la liste), mais isn
retourne isn
, car ce n'est pas sur la liste. Dans cette logique, je suis allé avec "ne pas diviser sur les apostrophes" et find'qazxswedc found
revient donc find'qazxswedc
.