@python_beginnersЭта группа больше не существует

Страница 160 из 1885
Omni
18.07.2016
20:14:52
мгм... зачем они выпилили cmp из тройки 8\
не знаю... не пойму чем он им мешался

Zart
18.07.2016
20:17:44
без либ - легко: >>> try: ... cmp ... except NameError: ... cmp = lambda a, b:-1 if a < b else int(a > b) ... <function <lambda> at 0x00CC1420> >>> rewards = { ... -1: [[1, 0, 0, 1, 0], [1, 1, 0, 0, 3]], ... 0: [[1, 0, 1, 0, 1], [1, 0, 1, 0, 1]], ... 1: [[1, 1, 0, 0, 3], [1, 0, 0, 1, 0]], ... } >>> >>> def t(): ... class ddict(dict): ... def __missing__(self, key): ... # total, win, draw, loss, score ... return self.setdefault(key, [0, 0, 0, 0, 0]) ... score = ddict() ... nn = int(input()) ... for _ in range(nn): ... cmd1, score1, cmd2, score2 = input().split(';') ... win1, win2 = rewards[cmp(int(score1), int(score2))] ... score[cmd1] = list(map(sum, zip(score[cmd1], win1))) ... score[cmd2] = list(map(sum, zip(score[cmd2], win2))) ... for cmd, result in score.items(): ... print('{}: {} {} {} {} {}'.format(cmd, *result)) ... >>> t() 3 Зенит;3;Спартак;1 Спартак;1;ЦСКА;1 ЦСКА;0;Зенит;2 Спартак: 2 0 1 1 1 Зенит: 2 2 0 0 6 ЦСКА: 2 0 1 1 1

Темный
18.07.2016
20:39:30
split() может разбить сплошную строку посимвольно? или только через цикл созвадать посимвольный список строки?

Google
Denis
18.07.2016
20:40:13
Например?

Denis
18.07.2016
20:40:29
split возвращает список

Темный
18.07.2016
20:41:02
Denis
18.07.2016
20:41:17
тогда list('abc')

Темный
18.07.2016
20:42:00
точно, спасибо

последний вопрос на сегодня: in_keys = list(input()) d = {} #in_keys[i] тут равен ключу с неким значением for i in in_keys: if in_keys[i] in d: print(d.get(in_keys[i]), end="") нельзя использовать строку на поиск в словаре? ошибка вида TypeError: list indices must be integers, not str

Denis
18.07.2016
20:55:44
Чему равно i при ошибке?

Темный
18.07.2016
20:56:40
i = "a" d = {"a": "*" , ...}

Denis
18.07.2016
20:56:55
Ты не можешь индексировать список строками

Zart
18.07.2016
20:56:58
for i in in_keys - перебор значений if in_keys[i] - какого хрена оно в индексе?

Denis
18.07.2016
20:57:27
Индексы списка должны быть числами

Темный
18.07.2016
21:13:14
Спасибо! такие глупые ошибки..

Google
Denis
18.07.2016
21:14:25
Попробуй в следующий раз попытаться разобраться самостоятельно, прежде чем задавать тупые вопросы в чате

Темный
18.07.2016
21:16:08
не пишу сюда пока сам не попытаюсь разобраться, но в этот раз согрешил - не прогнал через визуализатор

53r63rn4r
18.07.2016
21:25:09
Воу воу воу, неоскорбляй, есть чат для тех, кто поопытнее, а этот - бегинерс, для новичков

Denis
18.07.2016
21:26:49
Человек должен учиться разбираться в своем коде независимо от опыта

В жизни пригодится

И это не оскорбление

$p33d_$n@i1
19.07.2016
00:38:32
Господа. Если имеется множество параллельных потоков в целеру и они пишут в одну БД (даже в одну таблицу или работают с одной строкой), будут ли они блокировать доступ друг другу? Или в целеру уже реализован механизм защиты от одновременной записи? Джанго+целеру, прошу не кидать тапками

terry
19.07.2016
05:56:02
https://new.vk.com/tnull?w=wall-72495085_450649

Cykooz
19.07.2016
06:41:55
Господа. Если имеется множество параллельных потоков в целеру и они пишут в одну БД (даже в одну таблицу или работают с одной строкой), будут ли они блокировать доступ друг другу? Или в целеру уже реализован механизм защиты от одновременной записи? Джанго+целеру, прошу не кидать тапками
Ну вот как ты думаешь Celery должен догадаться, что ты хочешь чего то записывать в базу? Он просто запускает твой код, ему совершенно плевать что в этом коде происходит. А механизмы защиты от одновременной записи должны быть в базе данных, а не в коде клиента. И обычно там действует правило - кто последний тот и папа. Хотя конечно случаи могут быть разные, вплоть до DeadLock-ов.

Ну и если у тебя такой кейс, что надо на стороне клиента организовать последовательный доступ к базе, то либо надо воспользоваться любым решением для организации распределёных локов, либо просто обеспечить условие, что celery-воркер, выполняющий именно эту задачу, будет только один и при этом с настройкой —concurency=1.

Zart
19.07.2016
07:47:10
это что за говнобаза такая?

Cykooz
19.07.2016
07:48:16
это что за говнобаза такая?
Ну я вполне могу предположить наличие кейсов, в которых даже Oracle не поможет, и придётся на стороне клиента предотвращать параллельный доступ к данным.

Zart
19.07.2016
07:48:26
щито?

Cykooz
19.07.2016
07:52:46
Ну вот как вариант, я его называю "древовидный лок". Это когда например надо ставить лок на некую ноду в дереве, при этом так, что бы этот лок блокировал любые операции на заданную глубину вверх и вниз по дереву. Тут ни какие транзакции не помогут поставить этот лок (если он реализуется в обычной базе). Единственный вариант - использовать "простой лок", что бы залочить таблицу, которая реализует "древовидный лок", перед тем как начать с ней работать.

Хотя насчёт Oracle я конечно погорячился - в нём всяко можно наколбасить хранимку или какой то тригер, который будет брать на себя всю эту логику сложных локов. Но это как бы всяко уже не "встроеные средства базы", а нечто, что разработчик сам должен запилить и потому в целом не сильно отличается от реализации на стороне "клиента"

Zart
19.07.2016
08:01:56
а нахера такое делать вообще?...

особенно в много потоков

Cykooz
19.07.2016
08:08:48
Ну вот моя личная мозоль в том - что в моей системе надо организовать "древовидные локи", так что бы лочить только определёные участки дерева. Этот кейс подразумевает, что можно в много потоков работать с базой если нет пересечения участков. Например разные юзеры вполне могут работать со своими данными параллельно друг с другом, но вот один юзер не может параллельно добавлять в ветку дерева новые ноды и при этом удалять эту ветку.

Roman
19.07.2016
09:07:45
https://github.com/AHAAAAAAA/PokemonGo-Map

Может кто помочь это запустить?

Google
Roman
19.07.2016
09:07:52
На винде

Zart
19.07.2016
09:09:48
интересно, что такое flask server

Roman
19.07.2016
09:11:06
Flask-GoogleMaps?

Zart
19.07.2016
09:11:23
каким хуем это сервер...

автор софтины не умеет в пакаджи

Roman
19.07.2016
09:12:00
2.7 питон

Zart
19.07.2016
09:12:16
ичо?

Roman
19.07.2016
09:12:25
не хочу ставить

Zart
19.07.2016
09:12:26
автор не умеет правильно писать експет

не хоти

Roman
19.07.2016
09:12:30
не запуститься по другому?

Zart
19.07.2016
09:12:56
исправь его криворукое поделие - запустится

Roman
19.07.2016
09:13:15
как в пичарме выбрать другую версию?

Zart
19.07.2016
09:13:27
версию чего?

Roman
19.07.2016
09:13:36
питона

Zart
19.07.2016
09:13:54
укажи его в енвиронменте

но он же у тебя не установлен?

Roman
19.07.2016
09:16:08
Да

Zart
19.07.2016
09:16:25
а как ты собрался?..

Roman
19.07.2016
09:16:38
я не понимаю, вот и спрашиваю

Google
Sergey
19.07.2016
09:16:41
Интересно, зачем там в зависимостях coveralls, если я не вижу ни одного теста в репе?

Roman
19.07.2016
09:16:43
я хз как это устанавливать

Zart
19.07.2016
09:17:09
ну круто. автор того говна не умеет его писать, а его юзеры не умеют его ставить. они нашли друг друга 8)

как в пичарме выбрать другую версию?
а как ты питон вообще изначально ставил тогда?

Roman
19.07.2016
09:20:06
скачал, установил

Zart
19.07.2016
09:20:11
ну.

Roman
19.07.2016
09:20:23
потом пичарм скачал, там путь провел

и все работает

Zart
19.07.2016
09:20:38
вопрос тогда в чем?

Admin
ERROR: S client not available

Roman
19.07.2016
09:20:42
кароч забей

пойду редит читать

Zart
19.07.2016
09:20:53
точно так же и 2.7 ставится

*посмотрел список "фиксов"* там такие же покемоны пишут

Roman
19.07.2016
09:23:00
да бля, я поставил

теперь пишет, что ошибка в синтаксисе

у меня значит комп уже по дефолту на 3.5.2 запускает

как запустить на 2.7 без пичарма

Zart
19.07.2016
09:24:03
превед, хреново поставленный 3.5

поменяй python на py -2

Google
Roman
19.07.2016
09:24:44
где?

Zart
19.07.2016
09:25:16
в командной строке. т.е. pip install.. меняешь на py -2 -mpip install ...

блядь

даже прочитать простейшую инструкцию уже не в состоянии?

Vladimir
19.07.2016
09:27:26
АХАХ

Zart
19.07.2016
09:27:28
в командной строке. т.е. pip install.. меняешь на py -2 -mpip install ...

Roman
19.07.2016
09:27:40
я не шарю блять в таких действиях

очень сложно

Vladimir
19.07.2016
09:27:49
http://miped.ru/f/threads/uznaem-mestopolozhenie-pokemonov.24452

моя инструкция

Zart
19.07.2016
09:28:50
очередной рецепт писанный покемонами для покемонов...

Alexandr
19.07.2016
09:29:14
гайз, а кто-нибудь работал с exchange через python? в частности интересует, в какую сторону копать, чтобы питоном забрать admin audit log и mailbox audit log? в какую сторону капать?

Zart
19.07.2016
09:29:40
ексчендж какой? 2013?

Alexandr
19.07.2016
09:29:44
да

Zart
19.07.2016
09:29:51
там вроде ж теперь официально рулят через павершелл

если у них есть ком апи, то пивин32 ставь и рули

Alexandr
19.07.2016
09:30:39
powershell - да. вертится скрипт, который выбирает всё, что нужно

про апи спасибо, гляну

Roman
19.07.2016
09:31:25
моя инструкция
тоже хуй поймешь

Vladimir
19.07.2016
09:31:36
бля

Страница 160 из 1885

Эта группа больше не существует Эта группа больше не существует