gentoo.ru
python
python@conference.gentoo.ru
Понедельник, 24 января 2011< ^ >
krigstask установил(а) тему: Пей тон @ Жуй картон || https://gist.github.com/289467 || Логи: http://tinyurl.com/gentoo-py-logs || "Python's a drop-in replacement for BASIC in the sense that Optimus Prime is a drop-in replacement for a truck."
Конфигурация комнаты
Участники комнаты

GMT+3
[00:09:05] krigstask добавил строчку с io:format и пронаблюдал раскручивание рекурсии
[00:10:52] <maksbotan> покажи
[00:11:49] <krigstask> http://paste.pocoo.org/show/325639/
[00:13:04] <maksbotan> непонятно))
[00:13:23] <krigstask> Согласен
[00:13:38] <krigstask> Вот внизу твой результат, кстати
[00:13:47] <krigstask> Только там списки кривые
[00:13:54] <maksbotan> а с 1,2,5,10 можешь запустить?
[00:14:11] <krigstask> k?
[00:14:16] <maksbotan> 2
[00:15:00] <krigstask> Результат или всё?
[00:15:04] <maksbotan> все можно
[00:15:10] <maksbotan> результат я и так знаю)
[00:15:38] <krigstask> http://paste.pocoo.org/show/325640/
[00:16:11] <maksbotan> странное форматирование
[00:16:50] <maksbotan> qnikst: можно я завтра подостаю тебя олимпиадными задачками?
[00:18:20] <krigstask> А представь, ботан, ты бы пришёл на олимпиаду, и сдал все решения на Эрланге
[00:18:34] <maksbotan> да я бы с радостью на питонии
[00:18:39] <krigstask> Тебе бы учительница информатики прямо на клавиатуре отдалась бы
[00:19:02] <qnikst> maksbotan: можно
[00:19:03] <maksbotan> надо будет запомнить это в фортунки потом заделать
[00:19:10] <maksbotan> qnikst: спасибо)
[00:19:12] <krigstask> Записывай в книжечку
[00:19:15] <maksbotan> а теперь пора спать )
[00:19:23] <qnikst> krigstask: они ж не запустят
[00:19:23] maksbotan вышел(а) из комнаты
[00:19:35] <krigstask> Кто?
[00:20:09] <qnikst> проверяющие
[00:20:12] <qnikst> на 90%
[00:20:24] <qnikst> кстати олимпиады уже на питонах можно?
[00:20:33] <qnikst> вот бы раньше так
[00:27:55] <krigstask> Вроде нет
[00:32:00] <qnikst> а потому паскалю и мучает
[00:45:03] <krigstask> qnikst: а ты за меня порадуешься? Я решил! (-:Е
[00:45:58] <krigstask> http://paste.pocoo.org/show/325661/
[00:46:37] <krigstask> Мне не очень нравится костыль в седьмой строке, но в час ночи я не придумаю ничего лучше
[00:46:41] <qnikst> учительница по информатике тебя жд^W^W^W^W^W
[00:46:43] <qnikst> крут
[00:46:50] <qnikst> я попытаюсь понять щас как это работает
[00:47:26] <krigstask> А у нас, кстати, была симпатичная учительница, в моей первой школе
[00:47:48] <krigstask> А в АГ сплошные учителя, в том числе Гетман #-%E
[00:48:51] <qnikst> Гетман это который?
[00:49:12] <krigstask> Это который в плечах почти столько же, сколько и ростом
[00:49:25] <qnikst> хм.. видимо у нас ужо не было
[00:49:36] <qnikst> у нас был Приставко (потом свалил)
[00:49:47] <krigstask> Он в завучи переквалифицировался ещё при мне
[00:49:59] <qnikst> и ещё кто-то не помню нифига. а в 11 тётка вела недолго чушь какую-то
[00:50:40] <qnikst> [H|L] = List,
[00:50:49] <qnikst> это лист разделить на 2 части?
[00:50:58] <qnikst> или чтоэто ваще
[00:51:04] <krigstask> Распаковать список на голову и хвост
[00:51:22] <krigstask> Голова — первый элемент, хвост — список остальных
[00:51:32] <qnikst> ясно так и думал
[00:51:54] <qnikst> || <- объединение?
[00:52:11] <krigstask> Списковое включение
[00:52:17] <qnikst> а
[00:52:28] <krigstask> [H|K] — это уже конструктор списка (-:Е
[00:52:55] <krigstask> ++ — сложение списков
[00:53:55] <qnikst> [H|K] <- создать список из H;К
[00:54:09] <qnikst> на выходе список списков?
[00:54:19] <krigstask> Да, к списку K приставить голову H
[00:54:24] <krigstask> Точно так
[00:54:27] <qnikst> ясно
[00:54:56] <qnikst> 6-7 строки точно нужны?
[00:56:05] <krigstask> Да (-:Е
[00:58:03] <qnikst> 8-10 понимаю
[00:58:19] <krigstask> Иначе рекурсии не во что упираться
[00:58:26] <qnikst> а можешь запустить с size(List)<k ?
[00:58:46] <krigstask> Пусто
[00:58:49] <qnikst> имхо она в 0 должна упираться
[00:58:57] <qnikst> и возвращать []
[00:59:06] <qnikst> pair_them(List, 1) ->
[00:59:12] <qnikst> []
[00:59:32] <krigstask> И тогда возвращается []
[00:59:37] <krigstask> Что логично
[00:59:55] <qnikst> pair_them(List, 0) -> [] я имел ввиду
[00:59:59] <qnikst> вместо 6-7
[01:00:12] <qnikst> хотя может я и не прав
[01:00:31] <krigstask> У меня был такой вариант, но почему-то не сработал
[01:00:50] <krigstask> Сейчас ещё раз опробую
[01:01:54] <krigstask> Не, ни фига
[01:02:08] <qnikst> у меня такое ощущение, что оно не правильно работать так должно
[01:02:37] <krigstask> [[H|K] || K <- pair_them(L, Num-1)]
[01:02:39] <qnikst> эм.. а что он listlist возвращает?
[01:02:49] <qnikst> а ну да
[01:02:58] <krigstask> С твоими вариантами тут будет всегда []
[01:03:03] <qnikst> pair_them(List,0) -> [[]]
[01:03:12] <krigstask> Какой ещё listlist
[01:03:21] <qnikst> не тревожся
[01:04:17] <krigstask> А вот тут ты прав!
[01:04:42] <krigstask> http://paste.pocoo.org/show/325677/
[01:05:04] <qnikst> во, так приятнее
[01:05:04] <qnikst> =)
[01:05:21] <krigstask> Так красивше, но лишний виток рекурсии будет
[01:05:54] <qnikst> я думаю это будет не очень много по времени
[01:06:47] <krigstask> По количеству элементов, мне кажется
[01:06:55] <qnikst> тут страшное O
[01:06:56] <qnikst> =)
[01:07:07] <krigstask> +O ко всему прочему
[01:07:49] <krigstask> Хотя конкретно мой вариант тоже та ещё шляпа со списком списков
[01:08:18] <qnikst> O(pairitems(n,k)) = O(pairitems(n-1,k-1))+O(pairitems(n,k) <- каждый шаг
[01:09:29] <qnikst> ну т.к. это erlang то в общем-то пофиг :)
[01:09:42] <krigstask> По-моему, ты там ошибся немного (-%Е
[01:11:23] <qnikst> в где?
[01:12:05] <krigstask> O(pairitems(n,k)) = …+O(pairitems(n,k))
[01:14:49] <qnikst> n-1 в правой части
[01:17:53] <krigstask> Я стремительно засыпаю и больше спорить не могу (-%Е
[01:18:14] <qnikst> )
[01:18:24] <qnikst> а я делаю автореферат и презентацию
[01:18:25] <qnikst> гы
[01:18:30] <qnikst> так что тоже лень спорить
[01:18:32] <krigstask> Студентота!
[01:18:35] <qnikst> :P
[01:18:51] <qnikst> ваще
[01:19:01] <krigstask> Между прочим, в болгарском есть слово «студентката»
[01:19:24] <qnikst> ты ещё и болгарский знаешь?
[01:19:57] <krigstask> Нет, но я неплохо знаком со славянской филологией
[01:20:12] <krigstask> ПОхуже, чем с германской, но получше, чем с финно-угорской (-:Е
[01:20:52] <qnikst> ))
[01:22:45] <krigstask> Ладно, я побежал укладываться спать
[01:23:00] <krigstask> Завтра порадуем ботана ещё парой непонятных строк
[01:23:25] <qnikst> )
[01:23:27] <qnikst> давай
[01:23:51] <krigstask> Ох, хорошо эрланг мозг переворачивает, буду крепко спать теперь
[01:25:15] <qnikst> хацкель бы тебе ))
[01:34:56] <krigstask> Не всё сразу
[01:35:04] <krigstask> И  эрланг — первая любовь
[01:36:40] <qnikst> )
[02:02:44] qnikst вышел(а) из комнаты
[09:48:48] krigstask вышел(а) из комнаты
[10:14:44] maksbotan вошёл(а) в комнату
[11:09:04] krigstask вошёл(а) в комнату
[11:12:31] <krigstask> Ботан, гляди: http://paste.pocoo.org/show/325677/
[11:12:53] <maksbotan> я уже посмотрел в логах
[11:12:58] <maksbotan> адский синтаксис какой-то)
[11:13:39] <krigstask> Надо Тухлофуда запрячь на хаскеле это написать
[11:14:02] <maksbotan> гг
[11:14:08] <maksbotan> надо попробовать окамел ботнуть
[11:14:24] <maksbotan> krigstask: а ты можешь описать словами как это выглядит на функциональном языке?
[11:14:33] <maksbotan> а то ведь я и на камле как на паскали напишу =)
[11:16:26] <krigstask> Тоже мне, угроза
[11:16:39] <krigstask> ОКамль мне не сват и не брат, чего мне за него переживать
[11:17:18] <krigstask> Ладно, попробую
[11:17:55] <krigstask> Берём, значит, список. Делим его на первый элемент (H) и остальное (L)
[11:18:29] <maksbotan> типа L.pop(0) ?
[11:18:55] <krigstask> H, L = List[0], List[1:]
[11:19:05] <maksbotan> ну д
[11:19:06] <maksbotan> а
[11:20:15] <krigstask> Может, на питоне так написать? Я язык сломаю
[11:20:32] <maksbotan> ну напиши
[11:36:07] <krigstask> Куда-то хвост теряется (-%Е
[11:36:35] <maksbotan> хаха
[11:40:20] krigstask вышел(а) из комнаты
[11:40:30] krigstask вошёл(а) в комнату
[11:43:03] <krigstask> В общем, идея такая: http://paste.pocoo.org/show/325877/
[11:43:10] <krigstask> Хотя и не работает в таком виде (-%Е
[11:49:15] <maksbotan> почему не работает?
[11:49:49] <krigstask> Как тебе сказать…
[11:49:59] <maksbotan> >>> pair_them((1,2,5,10), 1)
(1, (2, 5, 10), 1)
(2, (5, 10), 1)
(5, (10,), 1)
(10, (), 1)
[]
[11:50:01] <maksbotan> =)
[11:50:41] <maksbotan> Num что означает?
[11:50:50] <maksbotan> и где произвольное k?
[11:50:58] <krigstask> Количество элементво
[11:51:20] <maksbotan> хм
[11:51:30] <krigstask> Это и есть k, я назвал переменные так же, как в эрланговой программе, чтоб некоторым было ясно
[11:53:34] <maksbotan> сравниваю два кода и ничего не понимаю
[11:53:57] <krigstask> Питоний-то понимаешь?
[11:54:06] <maksbotan> пока не очень
[11:54:29] <krigstask> А ещё на олимпиаду
[11:54:36] <krigstask> Районная?
[11:54:38] <maksbotan> эх
[11:54:46] <maksbotan> не, все области
[11:55:04] <maksbotan> http://acm.math.spbu.ru/lenobl11/results/110123/02.html
[11:55:08] <maksbotan> вот мои результаты )
[11:55:18] <krigstask> Ну хоть что-то. Это уровня городской по Питеру?
[11:55:31] <maksbotan> ну выходит
[11:58:50] <maksbotan> нет, все равно не понимаю :(
[11:58:55] <maksbotan> лучше на словах
[12:11:56] <krigstask> Берём, значит, список. Делим его на первый элемент (H) и остальное (L)
[12:12:32] <krigstask> Получаем 1 и (2,3)
[12:13:01] <krigstask> (Это для k=2)
[12:13:42] <krigstask> Запускаем ту же функцию для (2,3) и k=1
[12:13:54] <krigstask> Она возвращает 2 и 3
[12:14:24] <krigstask> Сшиваем единицу с результатами: (1, 2) и (1,3)
[12:14:54] <krigstask> Дальше запускаем ту же функцию для (2,3) и 2
[12:15:03] <krigstask> И складываем два результата
[12:24:23] <maksbotan> для (2,3) и 2 оно вернет (2,3) ?
[12:25:24] <krigstask> Ага
[12:25:25] qnikst вошёл(а) в комнату
[12:25:32] <maksbotan> [v
[12:25:34] <maksbotan> хм*
[12:25:37] <maksbotan> странно что не работает
[12:25:40] <krigstask> Оно разделит на 2 и (3)
[12:25:42] <maksbotan> а я вроде понел суть
[12:25:57] <qnikst> хаха пся делает клёвые смайлы
[12:26:01] <maksbotan> дада
[12:26:08] <maksbotan>
[12:26:35] <krigstask> Неудачники графические
[12:26:48] <maksbotan> ты тоже с псей, между прочим
[12:26:59] <krigstask> У меня никаких рожиц нет
[12:26:59] <qnikst> он не плюсовый
[12:27:00] <qnikst> =)
[12:27:06] <maksbotan> )
[12:27:10] <qnikst> а у нас плюсовая пся
[12:27:18] <qnikst> попахивает 1984
[12:27:24] <maksbotan> почему?
[12:27:40] <qnikst> там новояз был
[12:28:35] <maksbotan> а ты читал?
[12:28:41] <qnikst> да
[12:28:45] <maksbotan> интересно?
[12:28:50] <qnikst> да
[12:28:53] <qnikst> мне - да
[12:29:00] <qnikst> а змятина "мы" не читал
[12:29:07] <maksbotan> надо бы bladerunner глянуть
[12:29:07] <krigstask> А я читал 3-:Е
[12:29:10] <maksbotan> или как он там
[12:29:12] <qnikst> которое (говорят) прототипом было
[12:29:38] <qnikst> bladerunner это чьё? а то-что то много раннеров, Шеклевских, Кинговских
[12:29:38] <qnikst> ..
[12:29:58] <maksbotan> http://ru.wikipedia.org/wiki/%D0%91%D0%B5%D0%B3%D1%83%D1%89%D0%B8%D0%B9_%D0%BF%D0%BE_%D0%BB%D0%B5%D0%B7%D0%B2%D0%B8%D1%8E
[12:30:01] <maksbotan> я про это ^^
[12:30:32] <maksbotan> мм, у меня глюки. мне почему-то казалось что это фильм по 1984 )
[12:30:54] <krigstask> Я его постоянно с Running Man путаю
[12:33:55] <maksbotan> krigstask: гм
[12:34:09] <maksbotan> а как в питоне делается рекурсия в этой примере кода?
[12:34:31] <maksbotan> сначала pair_them(L, Num - 1) в генераторе до конца доходит, а потом pair_them(L, Num) после генератора?
[12:34:34] <maksbotan> или как-то не так?
[12:35:08] <krigstask> Надо полагать
[12:38:15] <qnikst> кстати в питоне надо елдами пользоваться имхо
[12:38:26] <qnikst> нефиг сразу генерировать кучу списков
[12:38:28] maksbotan тоже о yeild подумал
[12:38:31] <maksbotan> yield *
[12:38:37] <qnikst> иначе при n=100 k=50 ты умрёшь
[12:38:38] <qnikst> =)
[12:40:07] <krigstask> Это была образовательная демонстрация (-:Е
[12:40:54] <qnikst> а вобще алгоритм этот плохой
[12:40:56] <qnikst> =)
[12:40:59] <maksbotan> почему?
[12:41:04] <qnikst> если не делается внутренних оптимизаций
[12:41:15] <qnikst> ну попробуй посчитать кол-во действий от n,k
[12:41:52] <qnikst> если забить даже на стоимости деления объединения списков
[12:57:28] maksbotan вышел(а) из комнаты
[14:58:10] maksbotan вошёл(а) в комнату
[15:31:41] <krigstask> qnikst: так а более эффективный алгоритм кто придумывать будет?
[15:31:50] <krigstask> Кто тут у нас самый образованный? (-;Е
[15:31:55] <qnikst> ты :)
[15:31:59] <qnikst> ты ж магистр
[15:32:00] <qnikst> =))
[15:32:11] <qnikst> или у вас какая система была?
[15:32:20] <qnikst> у меня ещё ВО полного нет
[15:32:27] <qnikst> я только завтра защищаюсь
[15:32:29] <qnikst> гг
[15:32:31] <krigstask> Про клеточную биологию тебе могу рассказать больше, чем ты захочешь услышать d-:Е
[15:32:47] <qnikst> ну не сегодня буду
[15:32:53] <qnikst> и могу попридумывать
[15:33:02] <krigstask> Давай, интересно будет
[15:33:08] <krigstask> Во имя Кнута!
[15:33:08] <maksbotan> криг угрожае
[15:33:36] <maksbotan> qnikst: а ты алгоритмики всякие и прочее ня в универе изучал?
[15:33:42] <qnikst> нет )
[15:34:03] <maksbotan> а где?
[15:34:07] <qnikst> дома
[15:34:07] <maksbotan> кнут?
[15:34:13] <qnikst> не, кто-то другой
[15:34:19] <qnikst> + интернеты
[15:34:40] <maksbotan> хм
[15:35:06] <maksbotan> надо бы прочитать кнута. а то в следующем году опять олимпиаду прос^Hиграю
[15:35:06] <qnikst> а изучал я pascal, ООП на дельфи и яве, C: {openmp, mpi}, базы данных, и всякую веб гадость
[15:35:19] <qnikst> к олимпиадам я вобще ничего не читал
[15:35:27] <qnikst> ну и как следствие хренова писал
[15:36:03] <maksbotan> вот-вот
[15:36:08] <maksbotan> я-то не хочу хреново )
[15:36:17] <krigstask> А qnikst-то хотел
[15:37:33] <qnikst> мне пофиг было
[15:37:36] <qnikst> в общем-то
[15:39:53] <qnikst> а вобще xmobar ждёт мой патч
[15:39:53] <qnikst> =)
[15:39:57] <maksbotan> кто?
[15:40:02] <qnikst> eix xmobar
[15:40:19] <qnikst> там выводилка MPD с новыми либами не работает
[15:40:20] <maksbotan> на какую тему датч?
[15:40:23] <maksbotan> а
[15:40:30] <qnikst> надо подправить пару типов
[15:40:36] <maksbotan> гм
[15:40:41] <maksbotan> оно ведь на хацкеле?
[15:40:47] <maksbotan> значит ты знаешь хацкель
[15:40:50] <maksbotan> так?
[15:43:52] <qnikst> нет
[15:44:21] <qnikst> если hello world + пара задачек на pe считается только
[15:44:31] <qnikst> т.е. я не смогу написать что-либо новое или дельное
[15:45:16] <maksbotan> а
[15:45:30] <maksbotan> я хотел предложить тебе нашу задачку со списком закодить )
[15:46:12] <qnikst> там тоже, что в erlang
[15:46:23] <qnikst> 1 в 1
[15:46:30] <krigstask> И стрелочки?
[15:46:38] <qnikst> ну там = будет
[15:46:43] <qnikst> этож мелочи жизни
[15:46:54] <krigstask> Без стрелочек не считается .\_/.
[15:49:05] <qnikst> take_pair :: [Int] -> [[Int]]
take_pair _ 0 = []
take_pair x:xs n = [ [x: (take_pair xs n-1)]] ++ take_pair(x:xs, n-1)
[15:49:18] <qnikst> ну только в [ [x: (take_pair xs n-1)]] как-то по другому писать надо
[15:49:26] <qnikst> нужно ghci врубать
[15:54:54] <qnikst> хотя наврал наверное
[15:55:32] <qnikst> там можно map (x:) take_pair xs n-1 ++ take_pair(x:xs, n-1)
[15:55:49] <qnikst> и ещё 100^500 способов
[16:13:05] <qnikst> трольфесты отжигают, только непонятно чопоют
[16:19:22] <krigstask> Это да. На смеси немецкого и норвежского (-:Е
[16:19:40] <maksbotan> казалось бы, причем тут питон
[16:21:03] <krigstask> Не умничай, а то забаню 3-:Е
[16:22:14] <maksbotan> меня на моем же канале, круто
[16:22:34] <maksbotan> ну ничего, через некоторое время что-нибудь да изменится
[16:23:09] <krigstask> Например?
[16:24:33] <maksbotan> например я стану девов
[16:24:39] <maksbotan> а затем и модером, что логично
[16:25:04] <krigstask> Думаю, что в модераторы мы тебя из принципа не пустим 3-:Е
[16:25:13] <maksbotan> какого такого принципа, а?
[16:25:24] <maksbotan> вообще, может я только об этом и мечтаю
[16:25:29] <maksbotan> откуда тебе знать?
[16:25:36] <krigstask> Пункт 5.6: Ни при каких обстоятельствах не делать ботана модератором
[16:25:42] <maksbotan> гг
[16:30:31] <qnikst> ладно, ладно молчу
[16:30:33] <maksbotan> норвежская хумппа-тролль-фолк-блэк-метал группа.
[16:30:37] <maksbotan> ужас!11
[17:23:35] maksbotan вышел(а) из комнаты: Replaced by new connection
[17:23:45] maksbotan вошёл(а) в комнату
[17:33:18] maksbotan вышел(а) из комнаты
[17:35:07] maksbotan вошёл(а) в комнату
[17:49:25] krigstask вышел(а) из комнаты: Replaced by new connection
[17:49:45] krigstask вошёл(а) в комнату
[17:54:54] krigstask вышел(а) из комнаты: Replaced by new connection
[17:55:04] krigstask вошёл(а) в комнату
[17:55:24] krigstask вышел(а) из комнаты
[17:55:36] krigstask вошёл(а) в комнату
[19:22:26] qnikst вышел(а) из комнаты
[21:39:17] qnikst вошёл(а) в комнату
[21:47:03] krigstask вышел(а) из комнаты: Logged out
[22:07:00] <maksbotan> qnikst: ну как там?
[22:12:35] <qnikst> что именно?
[22:14:05] <qnikst> maksbotan: ^
[22:31:44] <maksbotan> новый подход к решению
[22:44:20] maksbotan вышел(а) из комнаты
[22:56:20] <qnikst> выр
[23:28:55] krigstask вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!