- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
Pyhton 2:
>>> (2**54/1) + 10 - 10 == 2**54
True
>>> (2**64/1) + 10 == 2**64
False
Pyhton 3:
>>> (2**54/1) + 10 - 10 == 2**54
False
>>> (2**64/1) + 10 == 2**64
True
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
Pyhton 2:
>>> (2**54/1) + 10 - 10 == 2**54
True
>>> (2**64/1) + 10 == 2**64
False
Pyhton 3:
>>> (2**54/1) + 10 - 10 == 2**54
False
>>> (2**64/1) + 10 == 2**64
True
Pyhton 2: https://ideone.com/iqwl8L
Pyhton 3: https://ideone.com/ltG9Fq
Ну охуеть теперь.
x + 10 - 10 != x в общем случае - это норма?
Я всё понимаю - тяжёлое детство, инты, прибитые к железу, но на кой чёрт в современных интерпретируемых языках такое говнище?
Кстати в тройке починили баг.
И сделали так чтобы код вёл себя консистентно с божественным js. Гы-ыгы-гы.
Руби
Питон 3
Внезапно:
Оно просто флоат прилично напечатало, дополнив
1.8446744073709552e+19 парой нулей.
Руби — моё почтение. Я всегда думал что это для хипстеров-гомосеков, а смотри: рациональные дробяшки. Годно
Всё-таки питон и жс хотя бы могут посчитать выражение ((1/2)**-1)+(2/3)
>>> (Fraction(1, 2)**-1)+Fraction(2, 3)
Fraction(8, 3)
Есть ли сахарок чтоб оно по дефолту в рациональных щитало?
Чтоб не писать:
Ехал Fraction через Fraction
Видит Fraction: Fraction, Fraction.
>from fractions import Fraction
Мы же не пишем:
from ints import Bigint
from floats import Float
from math import Complex
Ггг.
>Или собрать свой Питон из сорцов!
Да, четвёртый по счёту!
Просто я иногда использую питух как калькулятор, мне муторно импортить каждый раз всю эту питушню.
Хотелось бы как в js сразу math.* иметь под рукой. Я к тому что js как калькулятор лучше будет.
Ну запускай не голый питон, а свой скрипт, который все нужные модули подгрузит.
Что за /1? Ты float хотел?
В вашем ПТУ числа с плавающей точкой не проходили?
"a - b + b == a" обычно верно для интов, ну а плавучку вообще через "==" сравнивать нелзя
Ну так?
> Пи то бомбит от того что во втором и третьем питоне это отличается: typeof(1/1) будет интом в двойке и флоатом в тройке.
Плохо быть питушком.
C 2**64 вроде понятно: не хватает бит в мантиссе чтобы заметить прибавление/вычитание 10
>>> (2**54//1) + 10 - 10 == 2**54
True
Скоро до того дойдет для для каждой операции и каждого приоритета введут свой символ