LINUX.ORG.RU

Python округляет число ПИ до 3 целых.

 ,


1

2

Пишу:

import math
print math.pi
Ответ:
3
Python 2.6.6
Может и правда, было бы лучше договориться и приравнять число ПИ к трем целым для простоты вычислений?



Последнее исправление: qumo (всего исправлений: 3)
Ответ на: комментарий от aedeph_

хипстер

«Нет аргументов — пишу говно», настоящий ЛОРовец :}

Ещё раз говорю — ты спалился с «Pi» на патчинке в этом треде, дальше можешь ничего не писать.

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

Каких аргументов, ты тоже рубёвый фанбой, который не знает, как константы переопределить?

дальше можешь ничего не писать

Воспользуйся кнопочкой.

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

В этом треде слишком много дураков на 1 квадратный метр.

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

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

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

ты уже спалился с манкипатчингом

Ты не мог бы написать по-русски, не используя таких технических терминов, как «спалился».

уже никак не вбросит

Какой вброс, о чём ты? Фанбои уныло вбрасывают, но мы же лишь развеиваем их заблуждения.

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

Ты не мог бы написать по-русски, не используя таких технических терминов, как «спалился».

Ты в первый раз в интернете? Когда нечего сказать по существу цепляться к словам глупо.

Какой вброс, о чём ты? Фанбои уныло вбрасывают, но мы же лишь развеиваем их заблуждения.

[facepalm.tar.gz] Python округляет число ПИ до 3 целых. (комментарий)

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

когда нечего сказать по существу цепляться к словам глупо.

Ты же клоун, тебе выглядеть глупо вполне позволительно.

[facepalm.tar.gz]

Опровержением предыдущего поста это быть не перестаёт, в особенности после исправления.

aedeph_ ★★
()

Реквестирую эпический тред на 20 страниц.

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

Ты что, пьян? Когда ты спалился тем, что не отредактировал рубишное PI, а вписал свое Pi, он просто тебе на это укзал, причем совсем без злости вроде. Что ты теперь доказываешь, а главное - кому? :)

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

Ну некоторые могли бы подумать, что это дефолтное поведение. если бы ты не спалился с манки-патчингом. А так - пшик. Только тут о руби вообще речи не идет)

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

Если действовать по-моему, то хотя бы для x можно проверку типов отбросить

И какой в этом смысл? Операцию «x+i» всё равно придется проверять

По-вашему - нет.

Если делать по-моему, можно выбросить обе проверки.

def f(x):
    for i in [a,b,c,d,e, ...]:
      x + i

=>


def _f(x, l):
    for i in l:
        x + i

def f(x):
    l = [a,b,c,d,e, ...]
    if type(x) == foo and all(l, lambda x: type(l) == bar):
        # вызываем _f, оптимизированную для foo и [bar]
        # проверок типов в ней нет вообще
    else:
        get_trace_and_optimize(_f, (x, [bar]))

лучше просто

optimized_foo_bar_alg(a, b)

Не лучше. Долго объяснять, как работает tracing JIT. Если тебе действительно интересно, то вот: http://tratt.net/laurie/tech_articles/articles/fast_enough_vms_in_fast_enough...

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 2)
Ответ на: комментарий от tailgunner

мне кажется, что он несложно делается в with :)

Он не имеет смысла без возможности изменения простых типов.

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

Ну так не будет работать по-вашему. Я поэкспериментровал: когда сумма меньше int_max, результат - int. Когда больше - long. Т.е. all(l, lambda x: type(l) == bar) не прокатит, тут тип результата и, следовательно, оптимальный алгоритм зависят от значений.

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

Может быть. Руби вообще полон сахару, но именно поэтому он и хорош, что там все свелосипежено (простите меня за это слово) до нас, и даже новички могут со старту пользоваться разными крутыми фичами.

К примеру, новый (сравнительно) Object#tap:

class Object
  def tap
    yield self
    self
  end
end

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

cdshines ★★★★★
()
Последнее исправление: cdshines (всего исправлений: 1)
Ответ на: комментарий от baverman

Он не имеет смысла без возможности изменения простых типов.

Я считаю, что менять встроенные типы вообще не следует.

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

Ну так не будет работать по-вашему

(пожимая плечами) Как скажешь. А ссылку почитай - там для тебя много нового.

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

и как оно в криокамере?

Оно еще живее всех живых.

qumo
() автор топика

~ $ python Python 2.6.6 (r266:84292, Mar 11 2011, 01:19:30) [GCC 4.4.1] on linux2 Type «help», «copyright», «credits» or «license» for more information.

import math
print math.pi

3.14159265359

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

3.14159265359

Быть такого не может.

qumo
() автор топика

Мой преподаватель ТОЭ на заре туманной юности объяснял, что для инженера калькуляторы - зло, и рекомендовал освоить приближённую таблицу умножения: 2*2=5, 3*3=10, 4*4=16. Аргумент: «Да, сверхточности у вас не будет, но зато не ошибётесь на порядок, а с калькулятором это легко».

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

Это называется вешать ярлыки. Причём на человека, который с вероятностью 99% старше тебя (он даже меня старше лет на 20) и компетентнее в инженерной практике.

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

Это называется маразм и нигилизм.

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

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

2*2=5, 3*3=10

Это я могу понять. Но вот это выпадает из ряда:

4*4=16.

Почему не 15?

anonymous
()

У меня тоже самое:

Python 3.3.1 (default, Dec 26 2013, 21:06:07) 
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.pi
3
>>>

Hitray
()
python
Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> print math.pi
3.14159265359
>>>


А топикстартер уже в баньке.
anonymous
()
# python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> print math.pi
3.14159265359
>>> 
Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.