@ru_python

Страница 6182 из 9768
Мой любимый
09.08.2018
19:43:15
[1,3] + [1,2,3,4] "1,31,2,3,4"
это еще что

Tishka17
09.08.2018
19:44:22
Than you so much, ilove you ?❤️
https://paste.ubuntu.com/p/xRZKgfRdR6/

Google
ivan
09.08.2018
19:45:42
[1,3] + [1,2,3,4] "1,31,2,3,4"
А вот это и мне не понятно Это как так??

Tishka17
09.08.2018
19:46:19
[null, null] + [1] ",1"

null + "1" "null1" null + 1 1

ivan
09.08.2018
19:47:33
null + "1" "null1" null + 1 1
Ну это ещё понятно

[1,3] + [1,2,3,4] "1,31,2,3,4"
А можешь это объяснить? Или это и для тебя магия?

/dev
09.08.2018
19:47:59
[null, null] + [1] ",1"
буду проституткой

Tishka17
09.08.2018
19:48:04
для меня это ересь какая-то

Мой любимый
09.08.2018
19:48:06
лол

Tishka17
09.08.2018
19:48:14
просто потыкал, Ужаснулся

ivan
09.08.2018
19:48:28
Такой вот он, js)

Мой любимый
09.08.2018
19:48:46
0.3 + 0.3 + 0.3 Out[472]: 0.8999999999999999

:]

/dev
09.08.2018
19:49:09
0.3 + 0.3 + 0.3 Out[472]: 0.8999999999999999
Это IEEE754, куда страшнее системы типов js

Google
Мой любимый
09.08.2018
19:49:28
я не могу читать дальше, когда вижу много букв ее

/dev
09.08.2018
19:49:30
welcome to числодробилки

Stas
09.08.2018
19:49:41
А можешь это объяснить? Или это и для тебя магия?
Массивы в js реализованы через объекты. Конкатенация берет строковое представление этих объектов.

ivan
09.08.2018
19:49:45
null + "1" "null1" null + 1 1
Ну тут ясно более-менее Там по второму оператору происходит преобразования В первом случае nullв строку, что будет "null" Во втором случае null в число, что будет 0 Потому что null это false, false это 0

Dk
09.08.2018
19:50:03
Hello , how can i write the python's Concatenation in the Javascript way ,for example : > 5 + 5 + "3alam" + 5 + 44 Be like : "103alam544" After running
from functools import reduce def conc(a,b): if all(map((a,b), lambda x: x is int))): return int(a)+int(b) return str(a)+str(b) result = reduce(conc, YOUR_LIST) Исправьте, если что, я с телефона (

ivan
09.08.2018
19:50:49
Массивы в js реализованы через объекты. Конкатенация берет строковое представление этих объектов.
Я все равно не понимал поведение последнего элемента первого массива и первого элемента второго массива

а почему [null] + 1 будет "1" ?
Именно строка там? Не число?

А вот хрен его знает :))

Tishka17
09.08.2018
19:51:39
[null, "test"] + "1" ",test1" null + "test" "nulltest"

[null] + 1 "1"

Stas
09.08.2018
19:51:53
Я все равно не понимал поведение последнего элемента первого массива и первого элемента второго массива
строковое представление массива - это его значения через запятую. Вот они и склеились

ivan
09.08.2018
19:52:13
0.3 + 0.3 + 0.3 Out[472]: 0.8999999999999999
Это норма В Питоне так же отработает

Вроде как

Tishka17
09.08.2018
19:52:34
Tishka17
09.08.2018
19:53:01
В смысле?
[null, "test"] + "1" ",test1" null + "test" "nulltest"

Мой любимый
09.08.2018
19:53:10
Да

Это и есть питон

Tishka17
09.08.2018
19:53:23
почему в первом случае не "null,test1"

Google
Stas
09.08.2018
19:53:40
почему в первом случае не "null,test1"
потому что null - это пустое значение. Строковое представление массива - это его .join(",")

ivan
09.08.2018
19:55:08
>Язык программирования должен быть предсказуемым

Stas
09.08.2018
19:56:03
>Язык программирования должен быть предсказуемым
Тут похожая ситуация, как с print() в питоне, которая берет _str_

Dk
09.08.2018
19:56:14
Никто не оценил ?

ivan
09.08.2018
19:56:39
Тут похожая ситуация, как с print() в питоне, которая берет _str_
Здесь более логичное строкое представлние, как мне кажется

Tishka17
09.08.2018
19:57:28
[null, "test"].join(",") ",test" null + "," + "test" "null,test"

Stas
09.08.2018
19:58:11
[null, "test"].join(",") ",test" null + "," + "test" "null,test"
потому что join значения перебирает. Null - это пустое значение (пустота)

а при конкатенации - там все по-другому

ivan
09.08.2018
19:58:54
Ну да, там null в строку преобразовывается по идее

Вот вроде и понятно Но блеееен, кто придумал этот бред

Tishka17
09.08.2018
19:59:15
я могу придумать объяснение. но не понимаю, почему это не одинаково

зачем так было делать?

ivan
09.08.2018
20:00:25
зачем так было делать?
Фиг знает, мб это связано с историческим развитием js Все-таки над ним кто попало работал

Не было каких-то стандартов

И тд

Stas
09.08.2018
20:00:39
зачем так было делать?
Это сложно, потому что: 1) У каждого типа есть перегруженные операторы 2) Разные приоритеты выполнения этих операторов

Вот и выпадает, что "+" - это не "+" от числа, а "+" от строк (т.е. конкатенация)

Denis
09.08.2018
20:01:09
Просто это придумали за неделю, а потом было слишком поздно исправлять

Google
Tishka17
09.08.2018
20:01:25
в питоне тоже ес ьперегруженные. но контактенации и джойн - одна фигня

Stas
09.08.2018
20:02:01
мне из-за этого наоборот js нравится



чувствуешь, будто тебе снова подарили Lego

Admin
ERROR: S client not available

ivan
09.08.2018
20:03:47
Лучше бы он оправдывал своё название и был похож на java

Tishka17
09.08.2018
20:04:10
мне из-за этого наоборот js нравится
из-за непредсказуемости?

Stas
09.08.2018
20:04:55
из-за непредсказуемости?
Предсказуемости, которая кроется в деталях

у меня не возникает проблем с этим, я пишу 4 года. И когда происходят непонятки, я изучаю это и все сразу встает на свои места. P.S. Как с примером про 0.3+0.3+0.3 Все же понимают, из-за чего это.

Stas
09.08.2018
20:07:47
0.3+0.3+0.3 ну это нормально, это и в других языках так
Да, но если я пишу на python, скажем, мне же должно быть пофиг на другие языки)

ivan
09.08.2018
20:08:19
Фиг знает

Пишу на питон, но на другие языки не пофиг

Maxim robox
09.08.2018
20:26:14
https://code.sololearn.com/cXFYoiEbYmqW/?ref=app А то я накидал какую-то хрень

Влад
09.08.2018
21:15:43
http://acm.timus.ru/problem.aspx?space=1&num=1005
Опять вижу эту задачку и опять народ решает её, реализуя эти самые "две кучи".

stones = list(map(int, input().split())) stones.sort(reverse=True) diff = 0 for s in stones: if diff > 0: diff -= s else: diff += s print(diff)

Denis
09.08.2018
21:27:28
Неужели это придумывается проще, чем перебор?

Google
Stas
09.08.2018
21:39:52
а как же бдшечки а как же вебморда а как же автоматизация сборки ну там баш скрипты всякыя ?
БД-шечки - это не язык программирования. Веб-морда - это тоже не ко мне, я же backend разраб. Автоматизация сборки и bash - это тоже не совсем ко мне.

Алексей
09.08.2018
21:42:19
а есть какойто анонс/гит/чтото еще?
У нас не open-source продукт, поэтому публичного репозитория нет. В качестве анонса - сайт speechanalytics.ru

Tishka17
09.08.2018
21:43:25
stones = list(map(int, input().split())) stones.sort(reverse=True) diff = 0 for s in stones: if diff > 0: diff -= s else: diff += s print(diff)
stones = [10, 8, 6,6,6] stones.sort(reverse=True) diff = 0 for s in stones: if diff > 0: diff -= s else: diff += s print(diff) Не работает

Tishka17
09.08.2018
21:44:27
stones = list(map(int, input().split())) stones.sort(reverse=True) diff = 0 for s in stones: if diff > 0: diff -= s else: diff += s print(diff)
Камни 10, 8, 6, 6, 6 можно поделить на 10,8 и 6,6,6 ч разницей ноль. Твой алгоритм даёт 4

Ser
09.08.2018
21:44:56
У нас не open-source продукт, поэтому публичного репозитория нет. В качестве анонса - сайт speechanalytics.ru
как раз интересна тема умного поиска - скормит базу знаний и прикрутить бота

Denis
09.08.2018
21:49:26
Упражнение: придумать как можно более слабые условия на входные данные, чтобы этот алгоритм давал правильный ответ

Danil
09.08.2018
21:53:55
С камнями все просто

В самом начале в кучу кладем самый большой камень по весу

А в другую самый маленький

Потом самый большой из оставшихся кладем в маленькую кучу

Denis
09.08.2018
21:54:42
Зачем?

Страница 6182 из 9768