Esta pregunta está escrita porque "Thing Explainer" es divertido de leer y me dio una idea.
Escriba "cosas que hacen que la computadora haga cosas" que lee / toma un conjunto de letras, números y cosas como esta "#%|?y devuelve True / 1si todas las palabras son parte de este conjunto .
Si todas las palabras no son parte de ese conjunto, devuelva las palabras que no fueron parte de él.
Este sitio web puede considerarse correcto en todos los casos. Las reglas están escritas para seguir las especificaciones de ese sitio.
Ejemplos:
Verdad :
El código debe devolver un valor verdadero si todo el texto sobre la primera línea horizontal se pega como entrada.
Las siguientes líneas deben devolver un valor verdadero (la entrada está separada por ###)
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- :
En los siguientes ejemplos, la entrada y la salida están separadas por ***. Los diferentes casos de prueba están separados por ###.
This code doesn't return "Hello, World!"
***
code
###
tHiS rEtUrN"s false...
***
s
false
Reglas más detalladas:
- Puede usar esto para probar su código.
- Las no letras se interpretan como espacios por el código, a excepción de palabras como
'wasn't'. Las palabras con apóstrofos que regresantruese incluyen en la lista- Por ejemplo:
foo123bardebería regresarfooybar, dado que no son parte de la lista, y123pueden interpretarse como espacios
- Por ejemplo:
- La entrada solo contendrá puntos de código ASCII imprimibles [10, 32-126].
- Las palabras pueden contener letras mayúsculas y minúsculas. Ver segundo caso de prueba.
- La lista de palabras
- debe tomarse como entrada (STDIN, argumento de función o equivalente)
- se puede modificar (las palabras se pueden separar por nueva línea, coma, etc., y puede ordenar la lista)
- Tenga en cuenta que no puede usar esta lista (no es idéntica)
- La salida puede estar en cualquier formato que desee
- La salida puede ser mayúscula, inferior o mixta (opcional)
- No habrá símbolos en la salida.
Para el registro, Jonathan Allan encontró un extraño caso de esquina: la implementación en XKCD en realidad ignorará cualquier letra después de un apóstrofe hasta el siguiente no [AZ] [az] ['], por ejemplo find's found, y find'qazxswedc found'ambos no devuelven nada, mientras que find'qazx.swedc founddevuelve swedc.
Puede elegir si no desea devolver nada find'qazxswedc found'o volver qazxswedc. Volviendo qazx, swedca find'qazx.swedctambién está bien.
Booleano Array<String>, ¿sería permisible devolver una matriz / lista vacía?
1. No se permite una salida vacía.
find'qazxswedcentrada. ¿Estamos o no debemos dividirnos en apóstrofes? Por ejemplo, isn'tdevuelve true(está en la lista), pero isndevuelve isn, ya que eso no está en la lista. A partir de esa lógica, fui con "no dividir en apóstrofes" y así find'qazxswedc foundregresa find'qazxswedc.