Символы против букв
В символах ASCII были разделены когда - то снова ! Ваши наборы - Письма и Символы .
Письма
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Символы
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
Задача - написать две программы:
Напечатайте каждое письмо ровно один раз, не используя ни одного из них в вашей программе.
Напечатайте каждый из символов ровно один раз, не используя ни одного из них в вашей программе.
правила
- Пробелы могут появиться в вашей программе или на выходе.
- Не-ASCII символы не допускаются.
- Вывод идет в стандартный вывод или в файл как содержимое или имя файла.
- Нет ввода.
- Вывод должен содержать только символы ASCII из одного набора или другого.
- Программы могут быть написаны на разных языках или на одном языке с одним исключением:
- Язык пробелов можно использовать только для одной из программ.
- Применяются стандартные лазейки .
счет
# of characters in program 1
+# of characters in program 2
=Score
Самый низкий балл побеждает!
Замечания:
Чтобы поощрять больше заявок, вы все равно можете опубликовать ответ с решением только для одной из программ. Вы не сможете выиграть, но вы все равно сможете показать что-то классное.
Спасибо Calvin's Hobbies за то, что вдохновили идею своим предыдущим вопросом .
code-golf
restricted-source
hmatt1
источник
источник
Ответы:
Всего: 53 персонажа
Всего на одном языке: 230 символов, Pyth
Часть 1: Golfscript, 15
Выходы:
Объяснение:
Часть 2: Пиф , 38
Выходы:
Объяснение:
Бонусное решение:
Часть 1: Пиф, 192
Объяснение:
$"%\143"$
=> "% c".$
переключается в стиль разбора Python и обратно, а в разборе строк Python\143
- восьмеричная escape-последовательность дляc
. Таким образом, этот ответ эквивалентен следующему коду в стиле Python:Конечно, это не работает в Python, потому что печать в Python использует
print
, но печать в Pyth неявна, поэтому она работает.Решения Pyth не используют ни одной из добавленных функций, так как вопрос был задан.
источник
Python (Символы,
8782)Я просто люблю строковый модуль Python ...
Редактировать:
Выход:
ЛОЖЬ (Буквы, 21)DUP (Буквы, 20):ЛОЖНОЕ решение:
Раствор DUP (на 1 символ короче)
Выход (для обоих):
Переводчик для FALSE.
Всего: 102
источник
from string import*
работает одинаково хорошо и сокращает количество байтов.*
запрещено в этом контексте ...from string import punctuation, digits
. Хорошее решение, которое следует правилам. Извините за мою ошибку!GolfScript (14 символов) + Deadfish x (116 символов) = 130 символов
и
источник
Части 1 и 2 в Ruby 2, 56 + 484 = 540
Часть 1:
Для больше на этом стиле Ruby, проверьте narfnme .
Часть 2 (этот бит только для Ruby 2.0+, отлично работает с ruby-2.1.0, но может выдавать предупреждения в более ранних версиях):
Это было сложно. Вызов встроенных методов Fixnum, таких как
chr
иsucc
требует открытия класса Fixnum и переопределенияinspect
, так как я могу вызвать вызов сx.inspect
помощьюp x
. Мне нужно проверить, чтобы вернуться,nil
так чтоp
будет только печатать новую строку, любая строка будет заключена в двойные кавычки. Но как побочный эффект, он зацикливается. Я могу завершить первый и второй циклы, используя сравнение строк, чтобы увидеть, когда я достиг диапазона букв, но поскольку я не могу написать строковый литерал, мне нужно получить его, вызвавString()
возвращенный символ (в Ruby 2) поdef
ключевому слову. Так как это многострочный синтаксис, и я могу сравнивать только строкиcase
, который не может принимать многострочные выражения, мне нужно обернуть литерал в метод (так как я, очевидно, не могу сделать присваивание). Последний цикл сложнее завершить. Мне нужно на этом остановиться~
, К счастью, из символов ascii в этом диапазоне,~
это единственный, который может быть вызван на Fixnum без аргументов без сообщения об ошибке, поэтому я могу использовать,send chr
чтобы определить, когда я нахожусь в конце, и остановить цикл.Не лучший результат в этой теме, но пока единственный, который использует один и тот же язык для обеих частей. Yay Ruby.
источник
Часть 2 в Applescript, 654
подождите ... где страница " Советы по игре в гольф в Applescript "?
Выход:
источник
CJam + AlphaBeta , 62 байта
Письма, CJam , 12 байтов
Попробуйте онлайн!
Выход
Как это устроено
Символы, АльфаБета , 50 байтов
Попробуйте онлайн!
Официальный интерпретатор C ++ имеет ошибку, которая делает невозможным циклы, и я не могу понять, как использовать интерпретатор Lua. Я исправил эту ошибку. Вы можете убедиться, что он работает как задумано, запустив примеры программ со страницы EsoLang.
Выход
Как это устроено
источник
Часть 1 в BrainFuck:
8074 байтаисточник
>
из-за отсутствия отступа в коде. Таким образом, это отображается как цитата.Всего 318 байт
Я действительно надеялся найти ответ для обеих программ на одном языке, но пока ничего. Вот это вместо этого:
Часть 1: Pure Bash, 129 байт
Выход:
Часть 2: GNU dc, 189 байт
Выход:
источник
Ну, вы знаете, кто-то должен начать.
Часть 1 в BrainFuck: 174 байта
источник
Часть 1: Рубин, 45 байт
объяснение
?@...?[
), и Range, содержащий AZ (?`...?{
), становятся элементами массива_
с помощью оператора splat (*
)."@"
) и 27-й элемент ("`"
) массива_
установлены вnil
._
объединяется с использованиемArray#*
и выводится в stdout ($>
)источник
*$_
на второй строке сp
(или[]
).