dzz: Dizzy の冬 (Default)
dzz ([personal profile] dzz) wrote2018-12-21 09:31 am
Entry tags:

Консольный калькулятор

А вот интересно, что используют благородные доны и донны, если им приспичило что-то посчитать, а под рукой ничего кроме компьютера нет? :)

Заметил, что в большинстве случаев я не запускаю калькулятор с графическими кнопками, а стартую в консоли python. И это удобно, ибо наглядно и функционально: вся запись видна целиком, количество скобок неограничено, математические функции тоже под рукой, при этом результат возвращается сразу, ибо интерпретатор умеет считать выражения в интерактивном режиме.

А у вас что на эту тему?
vitus_wagner: My photo 2005 (white)

[personal profile] vitus_wagner 2018-12-21 06:39 am (UTC)(link)
На компьютере я по старой привычке чаще запускаю bc чем python. А вот на телефоне уже приучился что python в termux- лучший калькулятор.

Кстати в питоне неограничено не только количество скобок, но и количество знаков в числе (как и в bc). В отличие от калькуляторов с графическими кнопками, которые обычно более чем IEEE-шный double не асиливают.
Edited 2018-12-21 06:40 (UTC)

[identity profile] dzz.livejournal.com 2018-12-21 07:01 am (UTC)(link)
Меня всегда напрягало, что bc по умолчанию целочисленный, если scale не выставить или -l не написать в опциях. В питоне достаточно поставить точку после числа, чтобы всё выражение считалось как float
Edited 2018-12-21 07:03 (UTC)
vitus_wagner: My photo 2005 (white)

[personal profile] vitus_wagner 2018-12-21 07:04 am (UTC)(link)
Ага.
И библиотеку функций можно подключить в любой момент, а не только при запуске из командной строки.

[identity profile] sha10ka.livejournal.com 2018-12-21 06:46 am (UTC)(link)

Я в экселе считаю

[identity profile] dzz.livejournal.com 2018-12-21 11:17 am (UTC)(link)
В экселе удобно делать табличные расчёты, но, в принципе, несложно записать формулу. Единственное, что мне всегда там не нравилось - зависимость названия функций (СУММ, SUM) от языка системы, при этом SUM в русской локали просто не распознаётся как функция.

[identity profile] sha10ka.livejournal.com 2018-12-21 03:43 pm (UTC)(link)
Зато значки функций на панели есть .

[identity profile] p2004r.livejournal.com 2018-12-21 07:28 am (UTC)(link)
Конечно R. Ну нельзя же всерьез обсуждать использование общего назначения языка (даже интерпретируемого).

[identity profile] dzz.livejournal.com 2018-12-21 11:18 am (UTC)(link)
Месье знает толк в извращениях. Ты из консоли R запускаешь?

[identity profile] p2004r.livejournal.com 2018-12-21 01:10 pm (UTC)(link)
Естественно, там в отличии от пистона _полноценный_ REPL. Ну и не надо писать километры портянок что бы решить любую задачу.

[identity profile] litophage.livejournal.com 2018-12-21 08:35 am (UTC)(link)
Я с питонами всякими не дружен, так что стандартный calc :)

[identity profile] dzz.livejournal.com 2018-12-21 11:18 am (UTC)(link)
Ну, запуск целого интерпретатора - это программерская профдеформация :)
Edited 2018-12-21 12:35 (UTC)

[identity profile] geladen.livejournal.com 2018-12-21 09:28 am (UTC)(link)
только перл, только хардкор!
vitus_wagner: My photo 2005 (Default)

[personal profile] vitus_wagner 2018-12-21 10:02 am (UTC)(link)
А где для перла берут REPL?

[identity profile] geladen.livejournal.com 2018-12-21 11:00 am (UTC)(link)
не видел такого ("perl -d" -- слишком мешкотно).
только "-e", только хардкор.

[identity profile] dzz.livejournal.com 2018-12-21 11:23 am (UTC)(link)
В юникспайпе же:

echo 'print 1+2' | perl

Есть ещё perli aka

#!/usr/bin/env perl
do{print("perl> ");$_x=<>;chomp $_x;print(eval($_x)."\n")}while($_x ne "q")
Edited 2018-12-21 11:26 (UTC)
vitus_wagner: My photo 2005 (white)

[personal profile] vitus_wagner 2018-12-21 11:41 am (UTC)(link)
Первое, очевидно REPL-ом не является. Посколкьку последняя букв в этой аббревиатуре stands for Loop.
Второе - уже как-то похоже. Но только не позволяет использовать многострочные конструкции. От чего сразу много теряет в юзабельности.

В Tcl специально для упрощения написания REPL-ов есть команда info complete, которая проверяет, является ли переданная ей строка завершенной командой Tcl (все скобки закрыты и все такое).
В perl подобного нет, поэтому все REPL-ы, которые я нашел в дистрибутиве, тащут за собой по мегабайту каких-то левых модулей.

[identity profile] dzz.livejournal.com 2018-12-21 11:44 am (UTC)(link)
В первом случае loop тебе предоставляет unix shell :)

Строго говоря, совсем несложно наваять на шелле цикл ввода-вывода для многострочных конструкций perl-а, но есть одно "но": переменные между вызовами сохраняться не будут.
Edited 2018-12-21 11:47 (UTC)
vitus_wagner: My photo 2005 (white)

[personal profile] vitus_wagner 2018-12-21 12:00 pm (UTC)(link)
Не только переменные. В первую очередь нужно чтобы можно было use Force::Luke; сказать, а в следующей строке эту силу использовать.

[identity profile] dzz.livejournal.com 2018-12-21 12:20 pm (UTC)(link)
Да, согласен.

Можно, конечно, писать код смысловыми блоками с набором нужных модулей, а потом исполнять, но это не совсем интерактив. Правда, речь изначально шла про калькулятор :)))

[identity profile] dzz.livejournal.com 2018-12-21 11:21 am (UTC)(link)
Удивлён, что ещё никто не назвал в качестве любимого калькулятора ruby (точнее, irb) :)

[identity profile] geladen.livejournal.com 2018-12-21 11:26 am (UTC)(link)
негодняк! слишком чистенький!
ты ещё скажи (чур меня!) posh.
vitus_wagner: My photo 2005 (white)

[personal profile] vitus_wagner 2018-12-21 12:00 pm (UTC)(link)
Видать японцев в треде нет.

[identity profile] dotslashmute.livejournal.com 2018-12-21 12:04 pm (UTC)(link)
Вольфрам ;)

[identity profile] dzz.livejournal.com 2018-12-21 12:12 pm (UTC)(link)
Yes! Я ждал этот вариант!

IMHO, вольфрам слишком многословен для функции "найти среднее арифметическое десятка чисел", всё порывается объяснить способ решения задачи и обратить твоё внимание на прогресс математики в XIX веке до нашей эры :)

Ну и без сети не работает.
Edited 2018-12-21 12:13 (UTC)

[identity profile] dotslashmute.livejournal.com 2018-12-21 12:21 pm (UTC)(link)
«Надо идти, раз они меня ждут» — сказал Котёнок Гав :)

У меня обычно задачи на посчитать чуть сложнее. Среднее арифметическое можно и в уме.

[identity profile] dzz.livejournal.com 2018-12-21 12:36 pm (UTC)(link)
В уме много чего можно, вплоть до умножения матриц. Но лень :)
vitus_wagner: My photo 2005 (Default)

[personal profile] vitus_wagner 2018-12-21 12:48 pm (UTC)(link)
Вот среднее арифметическое десятка чисел - уже луче в электронной таблице. Чтобы было удобнее видеть, не ошибся ли во входных данных и если что - поправить.

[identity profile] dzz.livejournal.com 2018-12-21 12:59 pm (UTC)(link)
Табличные калькуляторы - это совсем другое, КМК. Речь-то шла о подручном средстве для casual-вычислений.
vitus_wagner: My photo 2005 (white)

[personal profile] vitus_wagner 2018-12-21 01:08 pm (UTC)(link)
Вот когда там больше 7 чисел, его пора переставать считать casual

[identity profile] dzz.livejournal.com 2018-12-21 01:15 pm (UTC)(link)
Мне кажется, что casual кончается, когда выражение в одну строку не умещается :)

[identity profile] dotslashmute.livejournal.com 2018-12-21 01:55 pm (UTC)(link)
Был чудесный tabbyCalc, с блекджеком и функциями, но его развитие, кажется, закончилось в нулевых :(

[identity profile] logizmo.livejournal.com 2018-12-21 09:13 pm (UTC)(link)
От сложности расчета зависит. Если несложное, то sql (всегда открыто окно).

[identity profile] mike-mihalych.livejournal.com 2019-01-01 11:09 pm (UTC)(link)
NumLock Calculator