@spbpython

Страница 678 из 785
Denis
25.02.2018
11:48:44
Нинини, я только так, шуткую. За питон и го стреляю в упор!

а как же Agda?
((x : A) -> B x) -> (a : A) -> B a Лучше уж Лисп, он хоть прост и понятен как 2 палки

Nikolay
25.02.2018
11:50:53
и еще есть Idris

Google
Denis
25.02.2018
11:51:59
Угу. Но это не мешает ей быть не особо понятной

Aleksandr
25.02.2018
12:03:27
Ну хаскель тоже ужасен. Там такой ужасный GC...
Не думаю что хаскелл можно починить заменой гц

Энивей, он прекрасен, писать на нем я конечно же не буду

Denis
25.02.2018
12:04:18
Не думаю что хаскелл можно починить заменой гц
GC - проблема, по которой хоть как-то можно конструктивно пообщаться с хаскеллистами ) Остальное они не видят и не хотят признавать

Stepan
25.02.2018
12:08:44
Я когда угарал по хаскелю то больше огребал с ленивости, а не конкретно с GC. Оно конечно лечится расстановкой strictness, но магия уже теряется

Nikolay
25.02.2018
12:09:17
и принципиальная невозможность некоторых структур быть реализованными в функциональном стиле?

Denis
25.02.2018
12:11:05
а как же скорость работы?
Если программа на хаскеле не покидает компьютер в подвале хаскелиста, то скорость работы не особо важна ?

Stepan
25.02.2018
12:12:46
Если программа на хаскеле не покидает компьютер в подвале хаскелиста, то скорость работы не особо важна ?
Немножко пасты: LISPеры из /s/ пользуются технологией «ленивого программирования», аналогичной en.w:lazy evaluation. При этом программа не пишется, а сразу объявляется написанной. Фактическое формирование кода программы должно происходить при первом непосредственном обращении к ней, но поскольку никто не обращается, код тоже не формируется. Благодаря этому LISP разработчики экономят много времени, которое могут с пользой использоваться для эффективного троллинга.

Denis
25.02.2018
12:29:10
Google
Alexander
25.02.2018
12:29:14
привет, кто работал с selenium chromedriver? Вопрос такой, хромдрайвер постоянно обменивается с сайтом пост запросами генерируемыми через AJAX и обновляет данные странички. В хроме в отлидчике есть вкладка network в ней логируются все запросы и ответы. Как мне получить к ним доступ и куда нибудь их вывести ( в идеале аналог зажатой кнопки Preserve log с включеным режимом XHR) Минимально хоть видеть все реквесты и респонсы ... С проксями вариант не предлагать.

Roman
25.02.2018
12:32:59
часть прода у ФБ на хаскеле
https://github.com/pfq/PFQ есть вот такое

Alexander
25.02.2018
13:16:18
https://github.com/asyne/cproto
чет нифига не пойму, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" —remote-debugging-port=9222 "about:blank" Вот так запускаю открывается хром с пустой вкладкой а http://localhost:9222/ тут нет отклика

Nikolay
25.02.2018
13:28:38
Sergey
25.02.2018
13:30:46
кстати, все уже заценили, что в хроме больше нет chrome://plugins ?
Довольно давно же Я так и не поборол хромиум с его вшитым флешем

Nikolay
25.02.2018
13:31:10
Довольно давно же Я так и не поборол хромиум с его вшитым флешем
ну, там просто либу руками удалить вроде надо

Sergey
25.02.2018
13:31:58
Энивей, это свинство — засовывать мне в браузер свое дерьмо

Serge
25.02.2018
13:57:53
Довольно давно же Я так и не поборол хромиум с его вшитым флешем
В федоре в хромиуме именно как раз нет флэша. И у людей, обычно, обратная проблема.

Nikolay
25.02.2018
14:01:10
poppler, кажется

Sergey
25.02.2018
14:06:03
poppler, кажется
pepperflash же, вроде

Google
Denis
25.02.2018
14:08:43
а firejail не пробовал?
Интересная штука. Вообще попробовать можно, но у нас фишка в том, что нам на сервере нужно было иметь хром с CDP, так что проще было сразу докер заюзать и отправить в k8s

Kate
26.02.2018
21:48:21
привет, кто хочет голову размуть маленько?

размять

Nikolay
26.02.2018
21:48:52
чью?

и чем?

Kate
26.02.2018
21:49:18
встречались) ты не поможешь)

Nikolay
26.02.2018
21:49:36
встречались) ты не поможешь)
я пропустил твой вопрос в том чате, если честно :)

можешь повторить?

Kate
26.02.2018
21:50:07


Артур
26.02.2018
21:51:49
itertools.product в помощь

Kate
26.02.2018
21:53:39
почитаем..

Nikolay
26.02.2018
21:54:57
нужно именно вывести комбинации? не посчитать их количество?

Nikolay
26.02.2018
21:55:15
потому что подсчет тривиален - тупо перемножить длины

Kate
26.02.2018
21:55:20
вывести, но тут думаю вряд ли проблема? главное сформировать

Alex
26.02.2018
22:00:31
Через product тривиально решается

Nikolay
26.02.2018
22:01:04
вывести, но тут думаю вряд ли проблема? главное сформировать
from itertools import product a0 = ['омлет', 'пирог'] a1 = ['яблоко'] a2 = ['молоко', 'кофе', 'чай'] a3 = ['помидор', 'тыква'] a4 = ['редис'] a5 = ['желе', 'мороженое', 'конфета', 'жвачка', 'сок'] b = [0,1,3,5,5,5,4,2,3,2,5,5,0,2] def getarr(num): return globals()["a{0}".format(num)] for l in product(*map(getarr, b)): print("".join(l))

сразу скажу - вариантов дохрена, поэтому выводить будет очень долго

Kate
26.02.2018
22:01:50
время не главное, главное результат, щас попробую понять

Nikolay
26.02.2018
22:08:02
60?
ну вообще нет, вариантов reduce(operator.mul, b)

Google
Nikolay
26.02.2018
22:08:43
это если мы массивы не меняем по ходу перебора

Kate
26.02.2018
22:10:16
сразу скажу - вариантов дохрена, поэтому выводить будет очень долго
я так понимаю тут все исполняемо, сорян не спец, после запуска ком строка мигом улетает, наверно легко посчиталось, результаты гдето сохранились? или лучше в файл вывести?))

Stanislav
26.02.2018
22:10:21
ну вообще нет, вариантов reduce(operator.mul, b)
Да, точно, до b я не дочитал

Kate
26.02.2018
22:11:19
мне нужны результаты для дальнейшей обработки

Admin
ERROR: S client not available

Nikolay
26.02.2018
22:11:56
тут вопрос есть, мы таки достаем элементы из массивов по ходу построения перебора или нет? потому что из задания это не ясно

вроде как в примере да, но в тексте это нигде не указано...

Kate
26.02.2018
22:13:26
тут вопрос есть, мы таки достаем элементы из массивов по ходу построения перебора или нет? потому что из задания это не ясно
ну в В у нас пять пятерок, и в массиве А 5 элементов, нужно просто в строке выходной их распределить по местам, а порядок этого распределения различен. в итоге все выходные строки разные

блин опять наверно непонятно сказала))

Nikolay
26.02.2018
22:14:07
просто из текста это неясно

окей, тогда мое решение не подходит

Kate
26.02.2018
22:15:00
да, мы используем все элементы из массива А, берем чтото и кладем в нужное место В, потом когда видим опять место берем опять чтото из А, что осталось

ultranoise ?
26.02.2018
22:16:22
господа, хочется вписаься в какой-нибудь некрупный опенсорс или публичный пет проджект. у нас никаких публичных борд по опенсорс проектам питоновским?

Kate
26.02.2018
22:16:52
комбинация относится ко всей финальной строке, т.е в некоторых массивах А элементы могут рассовываться по В так же, но какой то один элемент из любого А будет на другом месте и вот итоговая строка другая

Google
Kate
26.02.2018
22:17:46
да, всегда

..для каждого А есть свои позиции, для А из 3х элементов 3 позиции, для А из 2 - 2 позиции. Может сначала найти все комбинации-распределения по этим массивам а потом сочетать все сместе. С сочетанием не знаю пока как

Sergey
26.02.2018
22:30:16


Kate
26.02.2018
22:34:16
а как G объявить?

Sergey
26.02.2018
22:35:16
Kate
26.02.2018
22:44:37
G = [a0, a1]
x это выходная строка как понимаю?

Nikolay
26.02.2018
22:46:04
вообще задачка-то динамическим программированием решается, похоже

или я усложняю?

Sergey
26.02.2018
22:48:07
x это выходная строка как понимаю?
Вот так получите вывод: for S in p(G, I): print(''.join(S))

Kate
26.02.2018
22:48:38
Вот так получите вывод: for S in p(G, I): print(''.join(S))
а как в файл вывести, а то опять все из-под глаз убежит

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

Nikolay
26.02.2018
22:49:48
не знаю про динамическое, через ооп было б гладко, думаю тоже да
ооп вообще не имеет отношения к решению задач, это просто принцип организации кода

Kate
26.02.2018
22:50:27
ну может, по мне как код составить, а там может правда ваша)



Valerа
26.02.2018
23:08:17
сделай через with

и твой код помоему ничего не делает

Nikolay
26.02.2018
23:10:50
сделал чуть грубее from itertools import combinations, product, chain a0 = ['омлет', 'пирог'] a1 = ['яблоко'] a2 = ['молоко', 'кофе', 'чай'] a3 = ['помидор', 'тыква'] a4 = ['редис'] a5 = ['желе', 'мороженое', 'конфета', 'жвачка', 'сок'] b = [0,1,3,5,5,5,4,2,3,2,5,5,0,2] seen_counters = {i: 0 for i in range(6)} def getarr(num): return globals()["a{0}".format(num)] res = [] for i in b: a = getarr(i) res.append(list(combinations(a, len(a) - seen_counters[i]))) seen_counters[i] += 1 for l in product(*res): print("".join(chain(*l)))

Sergey
26.02.2018
23:12:09
20 и 23 строке убрать отступ. Потом 20 и 21 поменять местами. Возможно стоит i, *b = b поменять на i, b = b[0], b[1:], если питон 2, а не 3 версии Еще добавить f.write('\n') после 22 строки

Страница 678 из 785