LINUX.ORG.RU
ФорумTalks

питон как калькулятор?


0

0

Все говорят какой классный калькулятор из питона. Сижу, проверяю математику, на нетбуке bc нет, отлично - там есть питон!

/home/user> python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 9.83-1.76-3.28+0.11
4.9000000000000012
>>>

Это у него шутки такие или он теперь вычитать и складывать не умеет?

★★★★★
Ответ на: комментарий от Zenom

Видимо вопрос в том, откуда взялось 12 на конце

Demon37 ★★★★
()
Ответ на: комментарий от tailgunner

Ко всем сразу и каждому в отдельности.

Хотя я конечно не знаю, может языку программирования такая точность и не нужна. Но тогда не надо сватать этот инструмент как калькулятор.

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

bc использует длинную арифметику (у него это в первой строчке мана написано), а python - fpu, и из-за того, что многие десятичные числа в двоичном виде не представляются конечными дробями, в результате округления и вылазят подобные неточности.

к.о.

Adjkru ★★★★★
()
Ответ на: комментарий от sin_a

> Но тогда не надо сватать этот инструмент как калькулятор.

Использую только его, точности FPU хватает, вылезающие ошибки округляются в уме

Adjkru ★★★★★
()
Ответ на: комментарий от sin_a

> может языку программирования такая точность и не нужна. Но тогда не надо сватать этот инструмент как калькулятор.

Мало ком нужен такой калькулятор, как bc. Впрочем, для любителей
десятичной арифметики есть у нас:

Python 2.4.4 (#2, Apr 15 2008, 23:43:20)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import decimal

>>> d = decimal.Decimal

>>> d("9.83")-d("1.76")-d("3.28")+d("0.11")

Decimal("4.90")
>>>


(спокойно! это шутка).

tailgunner ★★★★★
()
Ответ на: комментарий от sin_a

> Хотя я конечно не знаю, может языку программирования такая точность и не нужна. Но тогда не надо сватать этот инструмент как калькулятор.

Старые калькуляторы жтим тоже часто грешили. Матлаб, маткад, математика, и пр. весьма плохо вычисляют собственные числа плохо обусловленных матриц (где-то у меня примеры валялись)... Методы вычислений сейчас не в почете, вообще. Оценка точности алгоритмов выполненных на числах с плавающей точкой как-то всем побоку. Так что если хочешь точных вычислений, то единственный вариант это использовать символьные вычисления. Благо инструменты есть.

ЗЫ: тебе для чего калькулятор нужен? Все таки есть ращница -- посчитать дебет с кредетом или обсчитать контур говолной части торпеды. Для первого и питона хватит.

soomrack ★★★★★
()
Ответ на: комментарий от soomrack

> обсчитать контур говолной части торпеды

Молодой человек, вас ждут в первом отделе.

(верните анонимный постинг, сцуке).

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>> обсчитать контур говолной части торпеды

> Молодой человек, вас ждут в первом отделе.

Понимаете о чем речь? Пройдемте, товарищ.

soomrack ★★★★★
()
Ответ на: комментарий от soomrack

Вот вы здесь шутите, а журноламер какой-нибудь прочтёт и напишет, что питон используется для управления атомными подводными лодками.

Zenom ★★★
()
Ответ на: комментарий от Zenom

> журноламер какой-нибудь прочтёт и напишет, что питон используется для управления атомными подводными лодками.

Хм. А ты уверен, что не используется? %)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> (спокойно! это шутка).

Какие уж тут шутки...

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

sin_a ★★★★★
() автор топика

$ qalc 9.83-1.76-3.28+0.11
9.83 - 1.76 - 3.28 + 0.11 = 4.9

xorik ★★★★★
()
Ответ на: комментарий от soomrack

> Старые калькуляторы жтим тоже часто грешили.

Ага, так и оглядываемся на настольные калькуляторы. В результате калькулятор на компьютере изображает настольный и мы видим одно число - вершину стека... Слава богу есть хоть один нормальный, в этом отношении, калькулятор - спидкрунч.

> для чего калькулятор нужен?

Независимо от, если я обнаруживаю что один инструмент спроектирован с пренебрежением, то предпочту использовать другой.

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

> А раздели-ка три на два?

>>> d("3")/d("2")

Decimal("1.5")

> Ага, не забыл после одного из чисел точечку поставить?


Давно уже не забываю :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>> журноламер какой-нибудь прочтёт и напишет, что питон используется для управления атомными подводными лодками.

> Хм. А ты уверен, что не используется? %)


Теперь я понял, почему две подлодки недавно столкнулись :)

gaa ★★
()
Ответ на: комментарий от gaa

> прально, как калькулятор надо использовать ассемблер

fxd

phasma ★☆
()
Ответ на: комментарий от sin_a

> Независимо от, если я обнаруживаю что один инструмент спроектирован с пренебрежением, то предпочту использовать другой.

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

Гм, а когда ты обычно линейкой меряешь. Тебя точность не пугает? Как ты думаешь, какая там погрешность?

soomrack ★★★★★
()
Ответ на: комментарий от tailgunner

>Хм. А ты уверен, что не используется? %)

Ну уж нет! Знаю я ваши, товарищ майор, шуточки. Скажешь, что уверен, как сразу: "А откуда это у тебя такие точные сведения? А ну-ка в первый отдел!".

Zenom ★★★
()
Ответ на: комментарий от soomrack

> И уж точно он не спроектирован как калькулятор.

Вот!

Нет, даже так: ВОООТ!!!

И не надо пожалуйста зачехлять что питон - такой из себя классный калькулятор. Когда он даже складывать и вычитать толком не умеет! Вот не знаю и знать не хочу чем он от bc отличается, но bc - это калькулятор, а питон - это язык программирования а не калькулятор.

А то, понимаешь, и учебники по питону начинаются со славословий. "Ах калькулятор - калькулятор".

sin_a ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

А чего это, чуть что, сразу в первый отдел? Я тут вообще о калькуляторах.

Zenom ★★★
()
Ответ на: комментарий от soomrack

> когда ты обычно линейкой меряешь. Тебя точность не пугает? Как ты думаешь, какая там погрешность?

А когда мне нужна точность - я штангель беру и не морщусь... :-P

sin_a ★★★★★
() автор топика
Ответ на: комментарий от soomrack

> ак ты думаешь, какая там погрешность?

Половина цены деления. И то, что погрешность заранее известна, --- самое главное.

ugoday ★★★★★
()
Ответ на: комментарий от Begemoth

И что, это ваш хаскелль? Вот и он тоже, оказывается, складывать не умет...

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

> А когда мне нужна точность - я штангель беру и не морщусь... :-P

Все линейкой измеряют, а он штангелем. Все нам линуксы нужны все нам линуксы важны.

ЗЫ: а что не морщишься это, конечно, круто. Главное не пережать, а то детей не будет.

ЗЫ: учебниками/пособиями по питону начинающимися с описания какой он замечательный калькулятор надо печку растапливать.

soomrack ★★★★★
()
Ответ на: комментарий от tailgunner

> А сделать import decimal религия не позволяет? :D

А взять линейку, навесить на неё хернюшку, разметить хернюшку, откалибровать и получить штангель религия не позволяет?

Нет, спасибо. у меня готовый штанг^W bc есть... :)

Хотя, да, в этом наладоннике - переростке нет bc, приходится мучаться с пистоном...

sin_a ★★★★★
() автор топика
Ответ на: комментарий от ugoday

> Половина цены деления. И то, что погрешность заранее известна, --- самое главное.

А ты сравни деревянную и железную линейки на 20 см. Деревянные с таким припуском делались...

soomrack ★★★★★
()
Ответ на: комментарий от sin_a

>> А сделать import decimal религия не позволяет? :D

> А взять линейку, навесить на неё хернюшку, разметить хернюшку, откалибровать и получить штангель религия не позволяет?

От тебя не требуется _писать_ модуль decimal, так что нинада тут :-P

tailgunner ★★★★★
()
Ответ на: комментарий от soomrack

> Деревянные с таким припуском делались...

Говорят у портновского метра допуск - несколько сантиметров... :)

sin_a ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

> От тебя не требуется _писать_ модуль decimal, так что нинада тут :-P

Хорошо, использование питона как калькулятора нарушает KISS. Это язык программирования а для счёта есть другие инструменты, и не надо тут швейцарских ножей с удочками и пилами.

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

> А "это" меряют вообще без линейки, просто прикладывая, напрямую...

А кто-то в попу-гаях. Жуткий мультик был.

soomrack ★★★★★
()
Ответ на: комментарий от sin_a

> использование питона как калькулятора нарушает KISS

У всех свой KISS. Посчитай мне в bc сумму целых чисел, представленных в 10-чной и 16-чной системах счисления.

tailgunner ★★★★★
()
Ответ на: комментарий от sin_a

> Говорят у портновского метра допуск - несколько сантиметров... :)

Есть такие метры. которые на ленте отпечатаны -- как раз для портных. Охват груди измерять и пр. прелести. Так вот. Ленты имебт обыкновение при перепадах температур и высокой влажности (что в нашем климате не редкость) вытягиваться. Было у меня два таких "метра" 3 см разница была.

soomrack ★★★★★
()

>>> 9.83-1.76-3.28+0.11
4.9000000000000012
>>> print 9.83-1.76-3.28+0.11

4.9

улавливаешь?
без print выводится .__repr__()

A2K
()
Ответ на: комментарий от A2K

> без print выводится .__repr__()

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

sin_a ★★★★★
() автор топика
Ответ на: комментарий от soomrack

> Было у меня два таких "метра" 3 см разница была.

Там штука в том, что меряется и шьётся по одному и тому-же метру, поэтому точность и не так критична, главное не меняться метрами :)

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

>Там штука в том, что меряется и шьётся по одному и тому-же метру, поэтому точность и не так критична, главное не меняться метрами :)

Типа того. Если индивидуальный подход. А если -- там с вас снимут серку, а потом сошьет "первый освободившийся специалист"...

soomrack ★★★★★
()
Ответ на: комментарий от sin_a

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

есть maxima и octave.

A2K
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.