- 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 в общем случае - это норма?
Я всё понимаю - тяжёлое детство, инты, прибитые к железу, но на кой чёрт в современных интерпретируемых языках такое говнище?
3.14159265 13.03.2018 23:46 # +2
Кстати в тройке починили баг.
И сделали так чтобы код вёл себя консистентно с божественным js. Гы-ыгы-гы.
SemaReal 13.03.2018 23:50 # +1
Руби
Питон 3
Внезапно:
3.14159265 13.03.2018 23:56 # +2
Оно просто флоат прилично напечатало, дополнив
1.8446744073709552e+19 парой нулей.
Руби — моё почтение. Я всегда думал что это для хипстеров-гомосеков, а смотри: рациональные дробяшки. Годно
SemaReal 13.03.2018 23:57 # 0
3.14159265 14.03.2018 00:01 # 0
Всё-таки питон и жс хотя бы могут посчитать выражение ((1/2)**-1)+(2/3)
gost 16.03.2018 10:55 # +1
>>> (Fraction(1, 2)**-1)+Fraction(2, 3)
Fraction(8, 3)
Simmchen 16.03.2018 10:56 # 0
gost 16.03.2018 12:38 # 0
3.14159265 16.03.2018 16:36 # +1
Есть ли сахарок чтоб оно по дефолту в рациональных щитало?
Чтоб не писать:
Ехал Fraction через Fraction
Видит Fraction: Fraction, Fraction.
>from fractions import Fraction
Мы же не пишем:
from ints import Bigint
from floats import Float
from math import Complex
gost 16.03.2018 23:51 # 0
3.14159265 17.03.2018 01:25 # 0
Ггг.
>Или собрать свой Питон из сорцов!
Да, четвёртый по счёту!
Просто я иногда использую питух как калькулятор, мне муторно импортить каждый раз всю эту питушню.
Хотелось бы как в js сразу math.* иметь под рукой. Я к тому что js как калькулятор лучше будет.
WGH 17.03.2018 19:14 # +1
vistefan 18.03.2018 00:51 # +1
g0_1494076596974 18.03.2018 01:33 # −1
bormand 18.03.2018 07:59 # +1
Ну запускай не голый питон, а свой скрипт, который все нужные модули подгрузит.
roman-kashitsyn 14.03.2018 00:32 # +2
syoma 14.03.2018 00:43 # 0
Что за /1? Ты float хотел?
syoma 14.03.2018 00:44 # 0
В вашем ПТУ числа с плавающей точкой не проходили?
SemaReal 14.03.2018 01:05 # +3
syoma 14.03.2018 01:17 # −1
SemaReal 14.03.2018 01:24 # +2
"a - b + b == a" обычно верно для интов, ну а плавучку вообще через "==" сравнивать нелзя
syoma 14.03.2018 01:26 # −2
Ну так?
> Пи то бомбит от того что во втором и третьем питоне это отличается: typeof(1/1) будет интом в двойке и флоатом в тройке.
Плохо быть питушком.
g0_1494076596974 14.03.2018 01:28 # +1
syoma 14.03.2018 01:31 # −1
C 2**64 вроде понятно: не хватает бит в мантиссе чтобы заметить прибавление/вычитание 10
syoma 14.03.2018 01:40 # 0
gost 16.03.2018 10:23 # +1
>>> (2**54//1) + 10 - 10 == 2**54
True
3.14159265 16.03.2018 16:35 # +2
3.14159265 17.03.2018 01:30 # +3
kegdan 17.03.2018 14:57 # −2
Скоро до того дойдет для для каждой операции и каждого приоритета введут свой символ
gost 18.03.2018 10:32 # 0