data-analytics-published-at="1740070269" >

Улучшение в словаре на bc

За последние недели мой уровень в bc очень сильно вырос. Я стал видеть вещи в своих прежних проектах, которые можно сделать проще и изящнее. Но, кажется, мой рост остановился. Интересно, достиг ли я потолка? Или, может, стал ли я сеньором в этом? Не пора ли мне учить других? Открыть курсы, поднимать сообщество? Вопросы без ответов!

В общем, открыл сегодня, пока ехал в такси, исходник своего англо-русского словаря, написанного на bc, и пришло мне в голову очевидное — не нужно хранить слова в десятичных числах, они длинные и непонятные, надо хранить их как они есть — в виде слов, ведь у нас в bc есть 36-ричная система счисления, то есть десять цифр и 26 букв.

Код на Python с циклом while, выводом приглашения «Введите слово или Ctrl-C для выхода» и условиями if для обработки ввода: FEW, LITTLE, SPRINKLING, TABLE с русскими переводами.

Почему же я раньше-то до такой простой штуки не додумался? Всё приходит с опытом.

Добавлено: грустно — на скриншоте обнаружил ошибки в словаре, который я использую.

Читайте также

Англо-русский словарь на bc
Пока писал «Виселицу» на bc, в процессе немало с ним экспериментировал. Обратил внимание на то, какой он шустрый.
2025
Игра «Виселица» на bc под «Линукс»
Я планировал заняться адаптацией «Виселицы» на bc под «Линукс» на следующий день, то есть сегодня, но не выдержал и вчера просидел над этим почти до полуночи.
2025

Комментарии 3

hsh № 2
или на английском просто id, а на русском просто надпись?
Евгений Степанищев автор № 3
Я не понял. :-(

Устроено так: человек вводит слово, например, «//HELLO//». bc переключён в 36-ричную систему, поэтому для него это число. Это число я сравниваю, перебирая все значения последовательно с другими числами — //APPLE//, //BYE// и так далее, пока не нахожу, что введённое совпадает с числом //HELLO//. На этом выдаю «Привет» и останавливаюсь.