Этот вопрос написан потому, что "Thing Explainer" интересно читать и дал мне идею.
Напишите «вещи, которые заставляют компьютер делать вещи», которые читают / принимают набор букв, цифр и тому подобное "#%|?
и возвращают, True / 1
если все слова являются частью этого набора .
Если все слова не являются частью этого набора, верните слова, которые не были частью этого набора.
Этот сайт можно считать правильным во всех случаях. Правила написаны в соответствии со спецификациями на этом сайте.
Примеры:
Truthy :
Код должен возвращать истинное значение, если весь текст над первой горизонтальной строкой вставлен в качестве ввода.
Следующие строки должны возвращать истинное значение (вход разделяется ###
)
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 :
В следующих примерах вход и выход разделены ***
. Различные тестовые случаи разделены ###
.
This code doesn't return "Hello, World!"
***
code
###
tHiS rEtUrN"s false...
***
s
false
Более подробные правила:
- Вы можете использовать это для проверки вашего кода.
- Не-буквы интерпретируются кодом как пробелы, кроме слов вроде
'wasn't'
. Слова с апострофами, которые возвращаютсяtrue
, включены в список- Например:
foo123bar
должен возвращатьfoo
иbar
, так как они не являются частью списка, и123
могут быть интерпретированы как пробелы
- Например:
- Входные данные будут содержать только печатаемые кодовые точки ASCII [10, 32-126].
- Слова могут содержать буквы в смешанном регистре. Смотрите второй контрольный пример.
- Список слов
- должен быть взят в качестве входных данных (STDIN, аргумент функции или эквивалентный)
- могут быть изменены (слова могут быть разделены новой строкой, запятой и т. д., и вы можете отсортировать список)
- Обратите внимание, что вы не можете использовать этот список (он не идентичен)
- Вывод может быть в любом формате, который вам нравится
- Выход может быть в верхнем, нижнем или смешанном регистре (опционально)
- На выходе не должно быть символов
Напомним, что Джонатан Аллан обнаружил странный случай: в XKCD реализация фактически игнорирует любые буквы после апострофа, например, до следующего не [AZ] [az] ['] find's found
, и find'qazxswedc found'
оба ничего не find'qazx.swedc found
возвращают , тогда как возвращает swedc
,
Вы можете выбрать, хотите ли вы вернуть ничего find'qazxswedc found'
или вернуть qazxswedc
. Возврат qazx, swedc
на find'qazx.swedc
это тоже нормально.
Boolean
или Array<String>
, будет ли допустимым возвращение пустого массива / списка?
1
. Пустой вывод не допускается.
find'qazxswedc
ввода. Мы или мы не должны разделяться на апострофы? Например, isn't
возвращает true
(он находится в списке), но isn
возвращается isn
, поскольку его нет в списке. Исходя из этой логики, я пошел с «не делить на апострофы», и поэтому find'qazxswedc found
возвращается find'qazxswedc
.