Сохранен 529
https://2ch.hk/pr/res/832681.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Python Thread

 Аноним 01/09/16 Чтв 13:05:51 #1 №832681 
14727243510480.jpg
https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Прошлый: >>828710 (OP)
Аноним 01/09/16 Чтв 13:07:54 #2 №832684 
Анон, генерация ссылки на восстановления пароля обязательно должна пилиться через Signing? Если она будет храниться в БД, то это не будет считаться дырявым и уязвимым быдлокодом?
Аноним 01/09/16 Чтв 13:08:17 #3 №832686 
>>832684
* на Django
Аноним 01/09/16 Чтв 13:14:17 #4 №832689 
как начать писать на фласке? как разобраться в нем? есть к только что начал писать на нем? как начали вообще?
Аноним 01/09/16 Чтв 13:15:35 #5 №832691 
>>832689
Документация. На хабре есть отличное руководство по нему на русском. Я так вкатывался.
Аноним 01/09/16 Чтв 13:18:32 #6 №832697 
>>832691
Ну там устаревшее к сожалению, изучаю его. Какие успехи у тебя уже, что серьезного написал?
Аноним 01/09/16 Чтв 13:20:01 #7 №832698 
>>832697
А, так. По мелочи. Не тяготею к вебу. Использовал его ток для микро веб сервиса
Аноним 01/09/16 Чтв 13:22:06 #8 №832700 
>>832689
Да. Я есть. Прогрессирую неплохо, учитывая что одновременно подтягиваю сам питон.
O'Rielly Introduction to Flask. Видеокурс.
Flask Web Development (2014) (e-book).
https://github.com/humiaozuzu/awesome-flask - репа со всем что только возможно.
Если у тебя OSX то можешь подтянуть себе Dash.app и прогрузить туда гайды по питону, фласку и джиндже. В качестве редактора рекомендую chocolat (есть автокомплит для фласка). Ну в PyCharm тоже вроде есть поддержка фласк.
Дерзай, удачи.
Аноним OP 01/09/16 Чтв 13:25:14 #9 №832705 
>>832700
Работаю в pycharm. Самая удобная ide. Есть поддержка flask и jinja2
Аноним 01/09/16 Чтв 13:26:31 #10 №832707 
>>832700
Забыл добавить - многие вещи поменялись с момента издания этих гайдов. Обычно обратная совместимость есть, но если сервер сыплет "блаблабла deprecated" то пиздуй сразу в доки и смотри как делать по-новому.
Аноним 01/09/16 Чтв 13:29:00 #11 №832710 
>>832705
Ну не знаю даже. Тащить целый комбайн с индексацией и плагинами, да еще и который в джаве крутится это как-то не по-питоньи.
Мне, как новичку, редактора хватает.
Аноним 01/09/16 Чтв 13:29:27 #12 №832711 
>>832684
Окей, перефразирую: как лучше всего реализовать на джанго восстановление доступа к аккаунту?
Аноним 01/09/16 Чтв 13:29:54 #13 №832712 
>>832689
Там в репозитории фласка примеры рабочие есть.
Все остальное у тебя вообще от непонимания работы веб-аппликации.
Аноним 01/09/16 Чтв 13:35:20 #14 №832715 
>>832712
Как приобрести >пониманиe работы веб-аппликации.
Аноним 01/09/16 Чтв 13:36:35 #15 №832716 
>>832715
Да.
Аноним 01/09/16 Чтв 13:55:25 #16 №832736 
>>832700
Какие успехи у тебя уже, что серьезного написал?
Аноним 01/09/16 Чтв 13:55:59 #17 №832737 
>>832700
Какие успехи у тебя уже, что серьезного написал?
Аноним 01/09/16 Чтв 14:05:20 #18 №832745 
14727279206240.png
Ура я сделал, я думал, что опять придется решение в инете смотреть
Аноним 01/09/16 Чтв 14:07:31 #19 №832750 
>>832745
Я теперь понял, что рекурсивная функцию это просто как обычный цикл. В нём есть выход, есть продолжение. А изменение i - это вызов функции с измененным аргументом
Аноним 01/09/16 Чтв 14:14:02 #20 №832758 
>>832736
Ничего серъезного. Я надеюсь ты понимаешь что стек веб-аппа немного шире чем бекенд и не грезишь быстрым продакшеном.
Аноним 01/09/16 Чтв 14:30:56 #21 №832764 
>>832750
Что есть если в функции два рекурсивных вызова?

def sort(a):
    middle = len(a) // 2
    left = sort(a[:middle])
    right = sort(a[middle:])
    # ...
    return sorted
Аноним 01/09/16 Чтв 14:55:49 #22 №832774 
>>832750
Рекурсия != цикл в общем случае.
Аноним 01/09/16 Чтв 15:00:00 #23 №832777 
>>832764
У вас так молоко убежит же, нет никакого условия остановки рекурсии.
Аноним 01/09/16 Чтв 15:02:02 #24 №832779 
>>832777
Упадет на IndexError
Аноним 01/09/16 Чтв 15:11:29 #25 №832785 
>>832758
>Я надеюсь ты понимаешь что стек веб-аппа немного шире чем бекенд и не грезишь быстрым продакшеном.
Вопрос в этом и не стоял.
Аноним 01/09/16 Чтв 15:12:33 #26 №832787 
так че как с фласком этим разобраться, структура не совсем понятна, много магии.
Аноним 01/09/16 Чтв 15:25:11 #27 №832799 
>>832787
Короче декоратор роутер оборачивает функцию и выводит возвращаемое значение в браузер

https://www.youtube.com/watch?v=qla-KaMF-2Q

Вот совсем для нюфагов
Аноним 01/09/16 Чтв 15:28:52 #28 №832802 
14727329327300.png
>>832779
Когда?
Аноним 01/09/16 Чтв 15:34:05 #29 №832811 
>>832787
https://github.com/pallets/flask/blob/master/examples/flaskr
Там есть пример. Если ничего не понимаешь, то заебашь простое приложение по стандарту wsgi для начала без фреймворков.
А лучше вообще почитай эволюцию гейтвей интерфейсов, многое прояснит.

>>832802
А, слайс не кидает IndexError, это хуёво.
Аноним 01/09/16 Чтв 18:29:30 #30 №832934 
Двощ, ведь для того чтобы тебя приняли на работу каким-нибудь помощником, недостаточно знать чистый питон, там же нужны всякие библиотеки. Так вот, когда нужно начинать учить вот это вот всё ?
И вообще вопрос, что нужно знать студенты, чтобы подрабатывать в сфере it ?
Аноним 01/09/16 Чтв 19:08:26 #31 №832968 
>>832934
>что нужно знать студенты, чтобы подрабатывать в сфере it ?
Уметь обращаться с пылесосом и половой тряпкой.
Аноним 01/09/16 Чтв 19:28:55 #32 №832986 
>>832968
быть опытным оператором эвм
Аноним 01/09/16 Чтв 19:49:52 #33 №833007 
>>832934
как включить комплюхтор
Аноним 01/09/16 Чтв 20:43:48 #34 №833113 
>>832968
>>833007
>тематика
Аноним 01/09/16 Чтв 20:47:35 #35 №833120 
>>833113
>1 сентября
>все школьники сегодня агрессивные
Аноним 01/09/16 Чтв 20:54:29 #36 №833130 
Аноны, я сейчас делаю сайт. Как доделаю его, хочу вам показать, чтобы вы оценили, и указали на быдлокод, который целесообразно подкрутить. Поможешь мне, анончик? А то я прям стесняюсь так. Первый раз свой код показывать. Это как первый секс которого у меня никогда не было
Аноним 01/09/16 Чтв 20:56:42 #37 №833132 
>>833130
Да никто не будет читать тут твой код, если его больше 10 строчек.
Аноним 01/09/16 Чтв 21:08:06 #38 №833153 
>>833130
Какой фремворк, какие задачи твой сайт выполняет, ну и т.д.

А так всем похуй на твой код.
Аноним 01/09/16 Чтв 21:18:01 #39 №833158 
>>833153
джанго, обычный бложик с постами, коментами, рейтингами, левелами и т.п. Я просто не знаю, какой именно сайт пилить для хорошего резюме, и пока что делаю самый очевидный вариант.
Аноним 01/09/16 Чтв 22:23:40 #40 №833210 
>>833158
как джанго осваивал? вообще непонятная хрень. выкладывай код свой давай
Аноним 01/09/16 Чтв 23:27:42 #41 №833266 
>>833210
Джанго понятное как банка пива, если ты выполнил немного условий предварительно:
1. Выучил питон
2. Выучил стандартную библиотеку
3. Поигрался с bottle
4. Навернул книженцию все еще актуального и совершенно без проблем до сих пор работающего Адриана Головатого

Мимопроходил
Аноним 01/09/16 Чтв 23:35:17 #42 №833271 
>>833210
Выложу ближе к среде.

осваивал по документации.
Аноним 01/09/16 Чтв 23:36:40 #43 №833272 
14727622009760.jpg
>>833210
Выпил волшебную таблетку и сразу все понял, так все в жизни и бывает.
Аноним 01/09/16 Чтв 23:41:11 #44 №833275 
ехал джанго через джанго
видит джанго - джанго джанго
сунул джанго джанго в джанго
джанго джанго джанго джанго
Аноним 01/09/16 Чтв 23:43:02 #45 №833278 
>>833275
ехал джанго через боттл
видит джанго в речке фласк
сунул джанго фласку в боттл
flask nginx alchemy flask
Аноним 01/09/16 Чтв 23:49:47 #46 №833279 
>>833278
В треде профессионал! А я просто жалкий петросян без работы. Сразу почувствовал себя петухом. Спасибо за ушат холодной воды!
Аноним 01/09/16 Чтв 23:51:14 #47 №833280 
>>833279
Профессиональный петросян?
Аноним 02/09/16 Птн 09:45:11 #48 №833388 
Посоны, я нормальный если пилю личный веб-проект на aiohttp и один небольшой уже запилил? Ваннаби программист как полгода.
Аноним 02/09/16 Птн 11:05:43 #49 №833419 
>>833130
Залей на гитхаб - сделаю код ревью.
>>833132
За всех не говори.
Аноним 02/09/16 Птн 11:07:05 #50 №833422 
>>833388
Только если тебе действительно нужна асинхронность.
Аноним 02/09/16 Птн 12:15:22 #51 №833443 
14728077231650.jpg
Сап. На связи начинающий питонятор. Есть следующая задача: необходимо выдрать кусок html кода с довольно большого количества страниц жж, немного отредактировать его с помощью регулярных выражений и отправить через форму на другом сайте. Подскажите, какие библиотеки смогут осуществить подобное? Каких мануалов навернуть? Надеюсь на доброту анона, с меня как обычно нихуя
Аноним 02/09/16 Птн 12:21:40 #52 №833445 
>>833443
>Каких мануалов навернуть?
По умению пользоваться гуглом
Аноним 02/09/16 Птн 12:23:11 #53 №833447 
>>833443
BeautifulSoup - для выдирания куска html.
requests - для выполнения всяких http запросов
Аноним 02/09/16 Птн 12:54:41 #54 №833469 
>>832745
может проще:
if string == string[::-1]:
return True
Аноним 02/09/16 Птн 13:37:08 #55 №833490 
>>833422
Ну в первом да, нужна, а во второй уже базу из первого потащил.
Аноним 02/09/16 Птн 13:47:37 #56 №833502 
Анон, что делает метод super? Объясни дауну, я чет вообще не вкурю.
Аноним 02/09/16 Птн 14:01:11 #57 №833510 
>>833469
Перезвоним.
Аноним 02/09/16 Птн 14:06:03 #58 №833513 
14728143638240.jpg
>>833469
Там нельзя делать шаг, отличный от 1.
Ребята, я вот щас продолжаю эти рекурсивные функции решать. На чекио заниматься нельзя, но теперь их задания кажутся мне сложными. Я остановился на какой-то ледяной станции, 2 задание, сложность - элементари. Там дан набор команд (PUSH x, POP, KEEP) и нужно их сделать в общем. Я до поломки чекио пытался сделать, но не получалось. В школе программиста задания тоже сложные. Зайчика я так и не сделал, а следующее за ним вообще страшное какое-то.
Я слышал, что на питоне плохо оптимизированы рекурсии, так что мне тогда изучать ? Куда идти ?
Аноним 02/09/16 Птн 14:11:32 #59 №833519 
>>833502
man OOP
Аноним 02/09/16 Птн 14:12:31 #60 №833520 
>>833513
>Куда идти ?
lisp, haskell, f#
Аноним 02/09/16 Птн 14:39:12 #61 №833528 
>>833513
Покажи задачу, а?
зделойте позязя Аноним 02/09/16 Птн 14:42:52 #62 №833530 
instagram-dl.py <username>

загрузить все фотки в оригинальном разрешении
загрузить все видео в оригинальном разрешении
загружам в папку <username>
загружаем по порядку, сначала новые, потом старые
если находим в папке уже загруженный файл то остановка дальнейших загрузок и выход
Аноним 02/09/16 Птн 14:43:06 #63 №833531 
Что вы учите кроме питона и его фреймворков?
Накой ноут взять для кодинга. FullHD, 8 оперативы и хватит?
Аноним 02/09/16 Птн 15:07:22 #64 №833543 
>>833530
Плоти
Аноним 02/09/16 Птн 15:14:23 #65 №833546 
>>833530
За 1к сделаю
Аноним 02/09/16 Птн 15:15:59 #66 №833548 
>>833531
Меньше 16Гб для питона даже не пытайся брать. Рекомендую просто брать самый дорогой который найдёшь Макбук + Apple Cinema Display.
Аноним 02/09/16 Птн 15:16:23 #67 №833549 
>>833531
Скоро новый макбук про анонсируют. Его бери.
Аноним 02/09/16 Птн 15:26:20 #68 №833553 
>>833549
>>833548
Лол.
Аноним 02/09/16 Птн 15:29:17 #69 №833557 
>>833548
>>833549
А можно не тролеть? Я просто не в курсе какая нужна мощность для того, чтобы юзать все инструменты одновременно
Аноним 02/09/16 Птн 15:29:34 #70 №833558 
14728193744070.png
>>833528
Какую ? Следующая за зайчиком - пикрелейтед. Я её даже не пробовал решать из-за лени.
Так что мне делать дальше ? С питоном я познакомился, как углубиться ?
Аноним 02/09/16 Птн 15:33:54 #71 №833562 
>>833558
Это еще проще зайчика.
Аноним 02/09/16 Птн 15:38:44 #72 №833568 
>>833562
Только решение пока не пости.
>Так что мне делать дальше ? С питоном я познакомился, как углубиться ?
Аноним 02/09/16 Птн 15:43:15 #73 №833572 
>>833568
Борду на питоне запили
Аноним 02/09/16 Птн 15:50:05 #74 №833581 
>>833568
Тут ничего такого питоно-специфичного нет.
Математику нужно знать, в идеале аналитическую геометрию (векторы, скалярное произведение), но можно обойтись и линейными уравнениями.
Аноним 02/09/16 Птн 15:56:09 #75 №833586 
>>833572
Двачую. Доставте ему ту пасту
Аноним 02/09/16 Птн 16:50:29 #76 №833629 
>>833558
Если хочешь, могу дать тебе на допилку проект, который делал ради изучения питона :3
За одно буду ревьювить твой код.
Аноним 02/09/16 Птн 16:51:32 #77 №833631 
>>833558
Реши задачу про дачников, но распараллель.
Вот и углубишься.
Аноним 02/09/16 Птн 16:53:27 #78 №833632 
>>833568
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь[1] при одном упоминании твоей зарплаты.
Аноним 02/09/16 Птн 17:03:59 #79 №833638 
>>833631
> распараллель.
Что это ?
>>833629
А как это вообще будет выглядеть ?
>>833632
Вот это интересно, спасибо
Аноним 02/09/16 Птн 17:11:15 #80 №833648 
>>833638
>Что это ?
Берешь список дачников / участков, делишь на несколько частей, все части обрабатываешь параллельно (например, через multiprocessing)
Аноним 02/09/16 Птн 17:19:34 #81 №833654 
>>833639
Заебал со своей конфой.
Аноним 02/09/16 Птн 17:30:14 #82 №833666 
>>833546
За 1к я сам сделаю.
>>833543
Расскажи хотя бы как делать.
Аноним 02/09/16 Птн 17:35:53 #83 №833673 
>>833669
>тут отвечай, коли есть что сказать
Аноним 02/09/16 Птн 17:37:32 #84 №833678 
>>833666
Ну и пиздуй сам делать тогда.
Аноним 02/09/16 Птн 17:38:30 #85 №833680 
>>833669
Сладкий батхæрт спамера-неудачника
Аноним 02/09/16 Птн 17:41:19 #86 №833683 
>>833678
Как?
Аноним 02/09/16 Птн 17:41:59 #87 №833684 
>>833683
Мне похуй.
Аноним 02/09/16 Птн 17:43:23 #88 №833686 
>>833684
Ясно. А для чего это тренд?
Аноним 02/09/16 Птн 17:43:55 #89 №833687 
>>833686
Научить ньюфагов думать головой, а не копипастой.
Аноним 02/09/16 Птн 17:44:26 #90 №833689 
Помогите нуфагу, как сделать ебаную замену символов?
аля
text = 'ololo'
@
замена букв
text2= новому тексту
@
print(text2)
Аноним 02/09/16 Птн 17:45:02 #91 №833691 
>>833689
man replace
Аноним 02/09/16 Птн 17:45:05 #92 №833692 
>>833689
text.replace('o', 'a')
Аноним 02/09/16 Птн 17:46:02 #93 №833695 
>>833687
Вот я нуфаг и хочу написать прогу для загрузки фоток с инстаграма. Что мне делоть?
Аноним 02/09/16 Птн 17:48:51 #94 №833698 
>>833692
спасибо антох, а то гугл выдаёт неизведаннoсть:
from string import maketrans

def replace_text(text, valc):
"""
text = 'abcdefg'
valc = {'a': 1, 'g': 2}
print replace_text(text, valc)
1bcdef2
"""
frm = ''.join([str(i) for i in valc.keys()])
to = ''.join([str(i) for i in valc.values()])
trantab = maketrans(frm, to)
return text.translate(trantab)

if __name__ == '__main__':
import doctest
doctest.testmod()

'b': 'x''}))
Аноним 02/09/16 Птн 17:52:37 #95 №833704 
>>833695
Scrapy
Аноним 02/09/16 Птн 17:52:58 #96 №833705 
>>833698
Это если ты хочешь по таблице заменять символы.
Вместо replace('o', 'a').replace('b', 'c'), можно создавать таблицу замены:
{'o': 'a', 'b': 'c'}
Аноним 02/09/16 Птн 17:55:50 #97 №833709 
>>833705
В виде кoда мoжешь пoказать? А тo глупo выглядит хуйня урoвня:
text = "13"
text2 = text.replace('1', '2')
text3 = text2.replace('3', '4')
print(text3)
Аноним 02/09/16 Птн 17:58:21 #98 №833712 
>>833709
http://stackoverflow.com/a/764591
Аноним 02/09/16 Птн 18:10:05 #99 №833721 
>>833695
Погугли инстаграм АПИ. И вообще начни с гуглежа python instagram, вероятно уже сто тысяч мильонов либ написано.

Возможно, понадобится зарегать своё приложение и получить секретный код. После чего качать свои сраные фоточки.

Вот скелет типичного скрипта:
http://pastebin.com/mJSECBpg

Сделан из реального скрипта, работающего с реддитом и имгуром.
Аноним 02/09/16 Птн 18:12:21 #100 №833726 
>>833712
благoдарю
text = "ololo"
replaceDict = {'o':'h','l':'a'}
for key, replacement in replaceDict.items():
__text = text.replace( key, replacement )
__print(text)
Аноним 02/09/16 Птн 18:14:22 #101 №833728 
>>833709
На самом деле хуйня не так уж и глупо выглядит. Она супер легко читаема. Flat is better than nested.
Аноним 02/09/16 Птн 18:19:54 #102 №833734 
>>832681 (OP)
Как написать свою имиджборду? Взять какой-нибудь фреймворк (торнадо, допустим) и дальше видно будет?
Аноним 02/09/16 Птн 18:22:07 #103 №833737 
>>833728
Вoт тебе FizzBuzz супер легко читаемый https://github.com/Autism-Corporation/FizzBuzz/blob/master/FizzBuzz
Аноним 02/09/16 Птн 18:29:29 #104 №833742 
>>833737

http://pastebin.com/wbiE6L3N
Аноним 02/09/16 Птн 19:08:22 #105 №833775 
14728325030490.png
х ведь никогда не станет меньше или равен нулю?
Аноним 02/09/16 Птн 19:09:34 #106 №833777 
Антoны если книжка A Byte of Python на великoм и мoгучем в фoрмате fb2 для книженции, гугл выдаёт тoлькo pdf, даже на сайте из шапки егo нет
Аноним 02/09/16 Птн 19:11:49 #107 №833778 
>>833775
Там целочисленное деление, когда-нибудь станет равен 0, да и при не целочисленном стал бы.
urllib Аноним 02/09/16 Птн 19:18:00 #108 №833780 
14728330806580.png
14728330806581.png
14728330806592.png
двач, дай совет, где копать.
Я просто в недоумении и не знаю что делать.

Суть в том, что не логиниться и все. HALP!!!!
Аноним 02/09/16 Птн 19:24:32 #109 №833782 
>>833780

>прошу, не пишите про то, что функцию не вызвал

Все показывает, что я не авторизовался. :C

Вроде как, метод request автоматом POST запрос отправляет. Но в чем дело, ХМММММ.
Аноним 02/09/16 Птн 19:30:24 #110 №833788 
>>833780
Забей на urllib, возьми:
https://github.com/kennethreitz/requests

Почему не логинится, кто его знает. Может там токен в форме где-нибудь, который ты не указал.
Может логин/пароль неверные.
Посмотри в хроме, какие данные форма отправляет на сервер.

Аноним 02/09/16 Птн 19:37:36 #111 №833791 
14728342568450.jpg
>>833778
точно, смотрел только на питон
Аноним 02/09/16 Птн 19:39:20 #112 №833794 
>>833791
Во втором питоне / это целочисленное деление для int'ов.
Аноним 02/09/16 Птн 19:54:00 #113 №833805 
>>833788

Хром пишет, что только username и password, больше ничего. :C

Не знаю, насколько поможет Requests, но попробую, спасибо.
Аноним 02/09/16 Птн 19:54:09 #114 №833806 
>>832681 (OP)
Я так больше не могу. Сначала ебался с настройкой версий самого питона, потому что в ёбаной убунте изначально прописан второй, а для ёбанной обезьянги 1.8.7 нужен третий. Затем я ебался с самой обезьянгой, потому что инструкция на сайте написана для 1.10, а у меня стоит 1.8.7. и я вообще уже не ебу, как её обновлять. Я только собрался с силами, но, блять, возникают какие-то мелкие проблемы, которые СУКА я не могу решить даже с гуглом. СУКА СУКА СУУУКАА как вы заебали со своими версиями, сука, почему всё не может работать СУКА СУУКАААА А АААААА !!№;;"!!!)"ВВА" ЫУА ЫВА
Аноним 02/09/16 Птн 20:16:46 #115 №833829 
>>833806
Выговорился? Полегчало?
Аноним 02/09/16 Птн 20:20:48 #116 №833836 
>>833721
Нашел короче по твоему совету вот энто https://github.com/rarcega/instagram-scraper/blob/master/app.py
только эта мудреная хрень качала фотки с белыми краями, а это мне не понравилось, пришлось чуть подправить, благо это легче чем писать всё с нуля.
Держи, может понадобится http://pastebin.com/BvpN6jB1
Аноним 02/09/16 Птн 20:22:00 #117 №833839 
>>833780>>833788
+1 голос к requests.
Удобно, ясно, просто.
На твоем уровне за голову хватит.
На будущее: не надо менять значение переменной без нужды, избегай конструкций типа x = func(x). Я про encoded_data. Изъебнись и придумай другое название, с тебя не убудет.
Использовать в функции аргументы из глобального скоупа (контекста, пространства имен), не передавая их в функцию явно - не очень хорошо.
Если уж заворачиваешь в функцию, должно быть def login(url, headers, login_data). Можно писать дефолтные значения типа headers=headers если хочется ее вызывать просто как login() и чтобы все само сделалось.
Аноним 02/09/16 Птн 20:25:10 #118 №833843 
>>833839

Приму к сведению, спасибо. :)
Аноним 02/09/16 Птн 20:34:14 #119 №833856 
>>833806
С чем ты там ебался я не пойму?
На большинстве дебиан based систем (в тч убунты) ты просто пишешь в консольке python3 если хочешь третий питон и python если второй.
Так же и скрипты (python3 script.py).
Та же херня с pip, если для третьего питона то pip3 install something
Аноним 02/09/16 Птн 20:42:26 #120 №833863 
14728381469910.png
>>833806
Поехавший, умвр
2 команды и готово
Аноним 02/09/16 Птн 21:04:13 #121 №833889 
>>833780
REQUESTS
E
Q
E
S
T
S
Аноним 02/09/16 Птн 21:05:42 #122 №833891 
>>833889

R E Q U E S T S
E Q U E S T S R
Q U E S T S R E
U E S T S R E Q
E S T S R E Q U
S T S R E Q U E
T S R E Q U E S
S R E Q U E S T
Аноним 02/09/16 Птн 21:06:49 #123 №833892 
>>833891
Слабо в 3D?
Аноним 02/09/16 Птн 21:09:16 #124 №833896 
>>833891
Дай питоний код.
Аноним 02/09/16 Птн 21:18:12 #125 №833902 
Двощ, а вот что нужно, чтобы сделать простенькое приложение - тест ПДД ? То есть чтобы немного дизайн был и собственно само прохождение теста. Какой уровень знаний там нужен ? И что нужно знать ?
Аноним 02/09/16 Птн 21:21:46 #126 №833909 
>>833896
https://gist.github.com/anonymous/8ee15a838a1d343685d5d3fe70db0b50

>>833892
А то.
Аноним 02/09/16 Птн 21:27:54 #127 №833914 
>>833856
В том-то и дело, что у меня ПОСТОЯННО СУКА возникают какие-то мелкие проблемы, которые даже с гуглением нельзя решить. А потом выясняется, что у них элементарное решение и я не понятно на что потратил 3 часа. СУУУУККА КАК ЗАЕБАЛО НУ ЁБ ТВОЮ МАТЬ
Аноним 02/09/16 Птн 21:29:30 #128 №833915 
>>833914
Это нормально. У всех так же, разве что с опытом мелкие проблемы становятся более сложными, но процесс всегда остается тем же.
Аноним 02/09/16 Птн 21:30:24 #129 №833917 
>>833914
Питон это не для тебя, учи лучше сишечку.
Аноним 02/09/16 Птн 21:35:23 #130 №833924 
>>833902
Если веб - то как минимум простой веб-фреймворк, хтмл. Но это будет совсем страшно. Для нормального в 2к16 вида придется изучить какую-нибудь простую клиентскую js-библиотеку и фреймворк типа семантека или бутстрапа.
Если десктоп - то питониевую обертку гуев (tkinter, gtk, qt).
Аноним 02/09/16 Птн 21:37:11 #131 №833929 
>>833909
https://gist.github.com/anonymous/8ee15a838a1d343685d5d3fe70db0b
Комментов бы туда. Регэкспы я вообще только в онлайн-билдерах читать умею.
Аноним 02/09/16 Птн 21:44:06 #132 №833940 
На повестке дня:
1. Кодировки-кодировочки. Ебёмся третий день.
2. Устанавливаем 64битный пичарм на 16битную шиндовс.
3. Какой антивирус мне поставить на питон?
4. Что такое PATH. Откровения бывалых.
5. pip распидорасил всё после апдейта, переустанавливаем всем селом.
6. Хакирские секреты чорной магии: как компилять экстеншены. Ставим cygwin под mingw под winapi под msvc под виртуалкой на убунте.
7. Супир алгаритмы: пишем пагинацию на MySQL
Аноним 02/09/16 Птн 21:46:43 #133 №833948 
>>833940
Я пытался рассмеяться, но у меня не получилось.
Аноним 02/09/16 Птн 21:52:44 #134 №833955 
>>833929
https://gist.github.com/anonymous/5ce8e5d895ed8952fe4975c68e1b64c8
Аноним 02/09/16 Птн 21:55:34 #135 №833959 
>>833955
От души, братан!
Не уверен, но мне кажется что ты один и тот же чел, который в каждом треде подсказывает ребзе как и что делать не обкладывая хуями.
Аноним 02/09/16 Птн 22:03:42 #136 №833971 
>>833959
Не в каждом, но да, в нескольких.

Я не помню, почему я решил там деку использовать, может быть потому что не знал про нее раньше и наткнулся на нее на stackoverflow.
Там можно было через слайсы сделать: s[i:] + s[:i].
Аноним 02/09/16 Птн 22:03:44 #137 №833972 
%s %d %a %v
Почему все используют это кретинство? Чем это лучше строкового метода .format?
Аноним 02/09/16 Птн 22:04:23 #138 №833974 
В пизду это ваше программирование. Пойду в чиновники.
Аноним 02/09/16 Птн 22:05:09 #139 №833975 
>>833972
Мне лень писать .format, вот и все. Так-то я и то и другое использую.
Аноним 02/09/16 Птн 22:09:02 #140 №833984 
>>833975
На порядок менее читаемо, для меня по крайней мере.
Аноним 02/09/16 Птн 22:10:52 #141 №833987 
>>833984
В 3.6 будут f-строки, можно будет забить и на % и на format.
Аноним 02/09/16 Птн 22:11:47 #142 №833988 
https://ideone.com/XVIQcE

Смотрите, как я круто нашел предел последовательности.
Аноним 02/09/16 Птн 22:53:47 #143 №834011 
>>833988
В целях самообучения сойдет, чтобы понять как работает map и reduce, но через сумму и list comprehension читабельнее получится.
Аноним 02/09/16 Птн 22:55:41 #144 №834014 
14728461411470.jpg
>>833955
>2016
>комменты
Ебать.

https://gist.github.com/anonymous/8d5493a6dff78019d3d6d6c87337a457

>>833892
А то.
Аноним 02/09/16 Птн 22:57:42 #145 №834017 
>>834011
Ну да, недавно только въехал в эти функциональные штуки.
Аноним 02/09/16 Птн 23:03:22 #146 №834019 
14728466020790.png
>>834014
> Ебать.
Что не так?

> А то.
Он наверное хотел куб в текстовом виде.
Аноним 02/09/16 Птн 23:11:50 #147 №834021 
>>834014
Какая либа умеет рисовать такую изометрию?
Аноним 02/09/16 Птн 23:17:13 #148 №834024 
>>834021
hou
Аноним 02/09/16 Птн 23:20:17 #149 №834025 
>>834024
А, сам рейтрейс происходит в гудини чтоле? Так не интересно.
Аноним 02/09/16 Птн 23:27:05 #150 №834029 
>>834025
Ты хотел порейтресить в CPython?
Аноним 03/09/16 Суб 00:16:44 #151 №834057 
>>833632
> Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библио
Копипаста блять !!!!!!!!!!
Но я всё равно начал читать вглубь питона. Когда прочитаю - смогу решать задачки ?
Аноним 03/09/16 Суб 00:18:27 #152 №834058 
>>834057
Нет.
Аноним 03/09/16 Суб 00:45:29 #153 №834073 
>>834057
Те, что тут постят? Нет. Для этого тебе нужно читать книги по алгоритмам.
Аноним 03/09/16 Суб 01:05:21 #154 №834079 
>>833940
Проиграли всем загоном.
Аноним 03/09/16 Суб 09:23:11 #155 №834150 
>>834029
Почему нет, если есть труба в CUDA?
Аноним 03/09/16 Суб 09:57:41 #156 №834163 
>>834150
Удачи.
Аноним 03/09/16 Суб 10:42:55 #157 №834190 
Аноны, что у Лутца чиать: "Learning Python" или "Programming Python"?
Аноним 03/09/16 Суб 11:02:46 #158 №834196 
>>834190
"Learning Python" -> "Programming Python"
Аноним 03/09/16 Суб 11:16:22 #159 №834200 
>>834196
Спасибо
Аноним 03/09/16 Суб 13:39:31 #160 №834327 
14728991714820.png
Сделал вот простенькую задачку на поиск НОК. Ребята, когда я делаю такие задачи, я не ощущаю челенджа, но я не могу делать более сложные задания. Что делать ? Куда я свернул не туда ? Уже совсем скоро ебаная олимпиада, а я не готов !
Алсо, я решил эту задачу с помощью динамического программирования ?
Аноним 03/09/16 Суб 13:41:03 #161 №834332 
>>834327
Ах да, жду советов по улучшению кода
Аноним 03/09/16 Суб 13:42:24 #162 №834334 
>>834327
> int(n / k) == n / k
Может быть n % k == 0?
Аноним 03/09/16 Суб 13:47:37 #163 №834341 
>>834334
О, да, так лучше
Аноним 03/09/16 Суб 14:01:47 #164 №834361 
Есть задача написать чекер сайтов по списку на питоне, на входе - файл с 1кк доменов, нужно пройтись по каждому (в идеале - асинхронно и в несколько потоков) и проверить вхождение определенного текста в исходном коде страницы. Если текст присутствует - записать эти домены в отдельный файл на выходе.
Анон, что посоветуешь? Возможно либы какие, статьи почитать там? Сам на питон перекатился неделю как, просто многопоточный вариант сего говна наговнокодил, но скорость не радует и где-то память течет :(
Аноним 03/09/16 Суб 14:11:29 #165 №834375 
>>834361
grequests
Аноним 03/09/16 Суб 14:11:40 #166 №834376 
>>834361
aiohttp попробуй.
Аноним 03/09/16 Суб 14:16:45 #167 №834384 
Pillow.
Есть ли возможность писать текст на изображении в поле определенного размера и положения с автоадаптацией размера шрифта под это поле? Костыли или другие модули приветствуются.
Аноним 03/09/16 Суб 14:26:31 #168 №834390 
>>834376
пробовал, нихуя не понял, наваял какой-то ужас (с трудом понимаю даже что некоторые куски кода делают) -http://pastebin.com/hfKGyu7k
Аноним 03/09/16 Суб 14:33:53 #169 №834394 
Хочу начать изучать python. Я ничего не знаю о нем, с чего мне начать?
Аноним 03/09/16 Суб 14:41:12 #170 №834403 
>>834394
Наверное с прочтения шапки.
Вышла новейшая книга пикрелейтед, можешь попробовать ее вместо неподъемного Лутца и иже с ним.
Аноним 03/09/16 Суб 14:41:38 #171 №834404 
14729028985310.png
>>834403
Аноним 03/09/16 Суб 16:54:12 #172 №834499 
Питоны, доставьте плиз пикчу, где питонный код и идентификаторы все на китайском?
Аноним 03/09/16 Суб 17:19:18 #173 №834511 
>>834390
https://gist.github.com/anonymous/efcd3a5f871e7f78431d326d97f8e9dd

Отпишись по поводу производительности, мне лень самому замерять.
Аноним 03/09/16 Суб 17:52:43 #174 №834531 
>>832681 (OP)
Питон - петушиный язык, питонопетух - не человек!
Аноним 03/09/16 Суб 18:06:05 #175 №834540 
>>834531
Будто плохое.
Аноним 03/09/16 Суб 18:27:43 #176 №834551 
>>834531
Питон - лучший язык, питонохейтер - не человек!
Аноним 03/09/16 Суб 18:46:59 #177 №834566 
Што делать ? Как готовиться к олимпиаде ?
Аноним 03/09/16 Суб 19:03:36 #178 №834580 
>>834551
Двачую.
Аноним 03/09/16 Суб 19:06:31 #179 №834585 
>>834551
Будто хорошее.
Аноним 03/09/16 Суб 19:29:00 #180 №834607 
>>834511
спасибо, поставил 50к строк на тест. Несколько вопросов:
Почему он пишет результаты в файл каждые ~420 строк?
Как-то можно выставить таймаут на соединения (во входном списке присутствуют мертвые домены, по идее это должно увеличить скорость).
Влияет ли на скорость кол-во воркеров?
Аноним 03/09/16 Суб 19:37:00 #181 №834613 
>>834511
И можно ли как-то запустить данный код еще и в несколько потоков? В один поток скорость асинхронного решения меньше, чем синхронного в 100 потоков :(
Примерно 400 строк в минуту против 1000 строк в минуту на 100 потоках
Аноним 03/09/16 Суб 20:44:02 #182 №834661 
14729246429780.png
Блять пиздец, я уже примерно придумал, как можно решить. Нужно типа посчитать количество способов получить n разными слагаемыми, при том, что каждое левое число должно быть меньше правого, но блять как это в змеиный язык перевести ?
Аноним 03/09/16 Суб 20:50:06 #183 №834667 
>>834384
Ну не игнорируйте, пожалуйста.
Аноним 03/09/16 Суб 20:58:10 #184 №834675 
В общем есть один flask-wtf. И есть сверстанный макет.
Возможно ли как-то пробросить уже вшитые формы макета в валидатор, а не вставлять формы методами wtf? Или может есть какая-нибудь другая библиотека, которая умеет валидировать типичные инпуты типа дат, е-мэйлов и резать длину?
Аноним 03/09/16 Суб 21:21:03 #185 №834700 
>>834661
Опиши пошагово как будешь делать, тогда и на змеиный будет просто перевести.
Аноним 03/09/16 Суб 21:46:07 #186 №834724 
>>834667
какие нахуй пиллоу? мы тут лесенки ебашим.
Аноним 03/09/16 Суб 21:57:28 #187 №834732 
>>834700
Не получается.
Может поискать полегче задачки на эту же тему ? Как мне стать умнее черт возьми ?
Аноним 03/09/16 Суб 22:04:16 #188 №834738 
>>834607
> Почему он пишет результаты в файл каждые ~420 строк?
http://stackoverflow.com/questions/3167494/how-often-does-python-flush-to-a-file

> Как-то можно выставить таймаут на соединения (во входном списке присутствуют мертвые домены, по идее это должно увеличить скорость).
http://aiohttp.readthedocs.io/en/stable/client.html#timeouts

> Влияет ли на скорость кол-во воркеров?
Влияет.

> И можно ли как-то запустить данный код еще и в несколько потоков? В один поток скорость асинхронного решения меньше, чем синхронного в 100 потоков :(
Не знаю.
Дай мне свой список ссылок.
Аноним 03/09/16 Суб 22:04:33 #189 №834739 
>>834732
Что-то непонятное задание. Имеется в виду сколько ступенек будет у лесенки из n кубиков? Или сколько всего таких лесенок можно сделать?
А какие там примеры?
Аноним 03/09/16 Суб 22:07:34 #190 №834741 
14729296541490.png
>>834739
> Или сколько всего таких лесенок можно сделать?
Это
6 - кол-во кубов.
6+0
5+1
4+2
3+2+1
Аноним 03/09/16 Суб 22:19:23 #191 №834751 
>>834661

А теперь давай перефразируем эту хуйню как: Дано число А. Нужно найти все множества, элементы которого будучу проссумироваными дадут нам число А. Из множества множеств небходимо исключить такие множества где элементы повторяются. Изи-пизи 5-10 строк кода на рубях, кек.
Аноним 03/09/16 Суб 22:21:31 #192 №834755 
>>834751
> Из множества множеств небходимо исключить такие множества где элементы повторяются.
И где более дальние элементы больше чем ближние типа.
Ну и как это сделать ?
Аноним 03/09/16 Суб 22:27:06 #193 №834767 
>>834751
>Изи-пизи 5-10 строк кода на рубях, кек.
Продемонстрируй.
Аноним 03/09/16 Суб 22:28:43 #194 №834771 
>>834755

вот-жеж пидоры, сейчас накидаю код.
Аноним 03/09/16 Суб 22:41:39 #195 №834791 
>>834767

что-то типо такого: http://ideone.com/sWhG4b
Аноним 03/09/16 Суб 23:05:48 #196 №834828 
>>834791
А ты и вправду рубист. Ты пробовал запускать с числом побольше?
Аноним 03/09/16 Суб 23:13:54 #197 №834842 
>>834791

ожидаемо, нихуя не будет работать. вообще ограничение на 16 мебе памяти намекает, что правильным решением будет маршализировать результаты функции и с йоба-фейсом сдать решение комиссии, а чё тз-то выполнено, все работает. Ладно шучу. хуй знает как оптимизировать, можно даже подумать, но навскидку, я бы подумал над оптимизированным алгоритмом генерации слагаемых..
Аноним 03/09/16 Суб 23:40:41 #198 №834861 
14729352415550.png
Питонисты, необходима ваша помощь. Рискну предположить что не я первый с этим обращаюсь. Но что за хрень происходит на данной пикче.
1)Импортировал файл верхнего уровня. Программа запустилась.
2)Импортировал функцию reload
3)Использовал reload для prog и ничего не запустилось.
4)Попытался reload модуля script1 для prog. Ничего не запустилось. Потому-что не импортировал сначала script1
5)Импортировал script1
6)Применил reload для script1 и все прекрасно заработало именно для этого модуля. Какого черта не запускает тогда файл верхнего уровня?
Аноним 03/09/16 Суб 23:44:58 #199 №834864 
>>834738
http://rgho.st/private/8VcSVFCSn/26a7a8cee805db892bddfd05bdabc035
Аноним 03/09/16 Суб 23:58:53 #200 №834873 
>>834738
Добавляю таймаут по гайду - начинают сыпаться ерроры(
Аноним 04/09/16 Вск 00:36:35 #201 №834881 
>>834842

вообщем, чуть-чуть подумал, алгоритм примерно такой:

> # 1 [ [1] ] 1
> # 2 [ [2] ] 2
> # 3 [ [1, 2], [3] ] 3
> # 4 [ [1, 3], [4] ] 4
> # 5 [ [1, 4], [2, 3], [5] ] 5
> # 6 [ [1, 2, 3], [1, 5], [2, 4], [6] ] 6
> # 7 [ [1, 2, 4], [1, 6], [2, 5], [3, 4], [7] ] 7

для N = 1,2 ответ единичка. Внутренее состояние: множество множеств мощностью в один элемент [[x]], т.е. [[1]] или [[2]].

для K из 3..N (N - число на входе) в цикле i от 1 до К делаем следующую штуку: берем i, определяем с = K - i, смотрим множество множеств для с (для K 1 и 2 множеств множеств мемоизировано зарание). Множество множеств для с дополненное элементом i, будет частью множества для i. Дополняем, естественно не должно быть повторов внутри дополняемого множества (все элементы дополняемого множества строго больше i, если нет отклоняем) это же исключит симметрию.

Результатом работы будет множество множеств для i, просто объединяем их. Мемоизируем объединение в кэше (жрать не много памяти будет для 100 элементов полагаю влезем в 16 мб) для последующего использования. В полученном объединении мощность это ответ для i. Соответственно последовательно строим множества пока не дойдем до K=i. Получается быстро и эффективно, правда строчек будет не 5-7, а под 30-40 , ну или меньше, смотря как писать.

Ну может там какие тонкости неясно написал, но это походу дела уточняется. Это будет полное решение этого нинужного говна. Простая задачка, разминка для ума перед сессией формошлепства.
Аноним 04/09/16 Вск 00:40:11 #202 №834883 
Пиздец, вот так лестница блять
Аноним 04/09/16 Вск 03:04:08 #203 №834903 
>>832711
Генерируешь пару uid, token. Высылаешь пользователю на мыло, принимаешь пару uid и токен и новый пароль. https://github.com/sunscrapers/djoser/tree/master/djoser - посмотри как это организовано здесь, правда тут для рест апи
Аноним 04/09/16 Вск 04:19:38 #204 №834918 
Есть кто дома?
Аноним 04/09/16 Вск 04:24:27 #205 №834919 
>>834918
Что ты хотел?
Аноним 04/09/16 Вск 04:33:49 #206 №834921 
От жеж редиска Лутц. В топике пишет про функцию reload, но не пишет что функция не транзитивна. Я ебусь с запуском файла верхнего уровня и спустя 20 страниц натыкаюсь на эту в общем то важную особенность.
Аноним 04/09/16 Вск 04:59:47 #207 №834924 
>>834919
Код странно себя ведет, нихуя не могу понять почему. Ща запощу.
Аноним 04/09/16 Вск 05:28:20 #208 №834926 
Есть 2 вроде как идентичных куска кода http://pastebin.com/AgXLTndW
Результат они выдают одинаковый. Кроме вида цикла ничего не меняется. Весь прикол в том, что вариант с for ... range выполняется в 10-20 раз медленнее, чем с while.
Аноним 04/09/16 Вск 05:29:44 #209 №834927 
>>834926
Ах да, используется py3, так что range не генерирует список.
Аноним 04/09/16 Вск 05:32:26 #210 №834929 
>>834926
>>834927
А, всё, нашёл ошибку.
Аноним 04/09/16 Вск 05:40:44 #211 №834930 
14729568445890.png
>>834661
Должно существовать не рекурсивное решение, что-нибудь с помощью матриц.

Еще куча задач на эту тему:
https://www.hackerrank.com/domains/algorithms/dynamic-programming
Аноним 04/09/16 Вск 06:36:54 #212 №834934 
>>834930

> №834881
> http://ideone.com/50SJ6v
Аноним 04/09/16 Вск 08:12:56 #213 №834943 
>>832986

Зело лихо управляться с перфокартами.
Аноним 04/09/16 Вск 08:19:09 #214 №834945 
14729663495430.jpg
>>834934
Ну и видок у этого.
Аноним 04/09/16 Вск 08:25:31 #215 №834946 
14729667316470.png
14729667316481.png
>>834945
Аноним 04/09/16 Вск 08:43:40 #216 №834949 
14729678207530.png
>>834946
http://ideone.com/BbyTXa
Аноним 04/09/16 Вск 08:49:38 #217 №834951 
>>834949
Не всосу, алгоритм тот же? Если так то руби дико сасет.
Аноним 04/09/16 Вск 08:54:58 #218 №834952 
>>834951
В версии на питоне numpy используется, который заточен под всякие вычисления с матрицами.
Аноним 04/09/16 Вск 10:41:24 #219 №834978 
Кстати, анончики - кто на яблоках использует приложение pythonista от сумрачного немецкого гения? А то можно вместе напилить полезных мобильных инструментов во славу анона.
Аноним 04/09/16 Вск 10:47:09 #220 №834982 
>>833806
Ты очень эмоционально ко всей этой хуйне относишься. Нервы побереги.
Аноним 04/09/16 Вск 11:21:26 #221 №834989 
>>834864
За полчаса у меня проходит весь файл:
http://ideone.com/VpnfQE

17.5к ошибок, 3.2к вордпресс, я не знаю, то ли там у тебя так много ссылок битых, то ли таймауты маленькие стоят.
Аноним 04/09/16 Вск 12:03:16 #222 №835000 
>>833278
Ехал filter через filter.
Видит filter в map-е filter.
Сунул filter lambd-у в filter.
Filter filter filter filter.
Аноним 04/09/16 Вск 12:04:17 #223 №835002 
>>833443
Lxml + xpath
Аноним 04/09/16 Вск 12:04:54 #224 №835003 
>>835002
Ну и очевидный requests
Аноним 04/09/16 Вск 12:23:34 #225 №835010 
>>835000
>filter
Шта?
Аноним 04/09/16 Вск 15:51:42 #226 №835136 
сап двощ

кодю для себя небольшие программки для работы

Что делать, если Питон заебал своей медлительностью?
Нет, серьезно, более уёбищной скорости выполнения надо поискать.

Простейший пример: битовый числа 657 на 10^8 повторенирях. Сравниваю время выполнения на Питоне и на Си (написано через while i< а не через for i in range чтобы было всё, сука, честно и одинаково).

##################
from time import time
i=1
t1=time()
while i <= 108:
a=657
a<<1
i+=1
t2=time()
print(t2-t1)
##################
и
##################
#include <stdio.h>
#include <time.h>
#define N 657
int main(void)
{
int a,i=1;
double t1,t2;
t1 = clock();
while (i <= 100000000)
{
a=N;
a<<1;
++i;
}
t2 = clock();
printf("Time = %f", (t2-t1)/CLOCKS_PER_SEC);
return 0;
}
##################

КАКОГО ХУЯ интерпретатор Питона тратит на это больше 19 секунд, а скомпилированный код Си делает то же самое за 0.143 секунды???

Есть ли смысл смотреть в сторону компиляции змеи?
Аноним 04/09/16 Вск 16:01:01 #227 №835145 
>>835136
>Что делать, если Питон заебал своей медлительностью?
Пиши на ассемблере.
Аноним 04/09/16 Вск 16:04:16 #228 №835147 
14729942562490.png
>>835136
>интерпретатор Питона тратит на это больше 19 секунд
Начнём с того, что time.time время не в секундах показывает, а хуй пойми как.
А продолжим пикрилом. У тебя пень 3 что ли, что 19 секунд выполняется?

Аноним 04/09/16 Вск 16:05:39 #229 №835149 
>>835136
Можешь на хуй пойти - это как вариант
Аноним 04/09/16 Вск 16:12:31 #230 №835158 
>>835136
>написано через while i< а не через for i in range >чтобы было всё, сука, честно и одинаково
Для таких ебланов как ты были придуманы генераторы
Аноним 04/09/16 Вск 16:36:41 #231 №835191 
>>835147
Если переписать через функцию,то займет 14.5 секунд, что через time, что через timeit.

При этом Си в 100 раз быстрее.
Аноним 04/09/16 Вск 16:38:19 #232 №835196 
>>835158
Давай, быдло, напиши мне через генератор это, чтобы хотя бы за секунду выполнялось.
Аноним 04/09/16 Вск 16:38:48 #233 №835197 
>>835191
Что переписать то? На пике, по-твоему, не функция?
Аноним 04/09/16 Вск 16:41:34 #234 №835203 
>>835147
Ты проебал, у тебя 108 повторений вместо 108
Аноним 04/09/16 Вск 16:42:38 #235 №835205 
>>835203
А, точно, ща исправлю, проверю.
Аноним 04/09/16 Вск 16:42:49 #236 №835206 
>>835203
Я другой анон. Ты долбоеб, во всем мире тебя бы поняли напиши ты 108
Аноним 04/09/16 Вск 16:43:15 #237 №835208 
>>835206
Бля ебаная макака
Аноним 04/09/16 Вск 16:46:22 #238 №835212 
>>835197
Я, говорю, переписал, через функцию и сравнил time и timeit. Результат одинаковый +-14.5 секунд.

Кстати, тебе там уже написали, что у тебя 108 итераций с 100000 повторениям в timeit вместо одного на 100000000.
Аноним 04/09/16 Вск 17:13:44 #239 №835257 
14729984247610.png
>>835136
> (написано через while i< а не через for i in range чтобы было всё, сука, честно и одинаково).
У тебя какое-то странное понимание честности и одинаковости.
Аноним 04/09/16 Вск 17:49:51 #240 №835312 
>>835257
Что-то у вас с ним дохуя большая разница получается, 14.5 против 0.232 с.
Аноним 04/09/16 Вск 17:53:54 #241 №835318 
>>835257
Как ты подсветку запилил?
Аноним 04/09/16 Вск 18:41:06 #242 №835354 
>>834951

оптимизация алгоритма годная да, а вот то что петон жрет четверть гигабайта в пике это показывает как заточены вычисления матриц, кекус. (спойлер: через жопу)
Аноним 04/09/16 Вск 18:46:44 #243 №835357 
>>835354
> четверть гигабайта
Ты порядком ошибся.
Аноним 04/09/16 Вск 18:55:30 #244 №835364 
14730045309550.png
Пиздец. Понятней же будет наоборот.
Аноним 04/09/16 Вск 19:05:40 #245 №835377 
>>832681 (OP)
Вечер в хату, боги кодинга! Взломайте бота, аноны: http://travibot.com/ru/
Аноним 04/09/16 Вск 19:27:07 #246 №835410 
Допустим есть функция f(), которая возвращает лист. Как мне запилить подобие [*f(i) for i in args], чтобы сразу получить распакованный линейный лист?
Аноним 04/09/16 Вск 19:32:01 #247 №835418 
>>835410
А, вспомнил, тупанул чёт.
Аноним 04/09/16 Вск 19:32:59 #248 №835420 
>>835418
[x for i in args for x in f(i)] ?
Аноним 04/09/16 Вск 19:48:46 #249 №835433 
>>835420
Ага
Аноним 04/09/16 Вск 20:27:20 #250 №835481 
>>835136
в сишке очевидная оптимизация, так как дальше эта а не используется - цикл 10^8 не может работать быстро в принципе.
Аноним 04/09/16 Вск 21:22:45 #251 №835522 
>>835481
gcc -O3 main.c && time ./a.out
Time = 0.000001

gcc main.c && time ./a.out
Time = 0.234212
Аноним 04/09/16 Вск 23:19:05 #252 №835617 
Двач время идет, а я не занимаюсь или не могу заниматься. Что делать, как пофиксить ?
Аноним 04/09/16 Вск 23:26:45 #253 №835624 
14730208053120.jpg
Аноны, довольно хорошо знаю Django и сына его REST Framework, а также святого Docker, хотя ни разу еще не выкатывался в продакшен. Поэтому, у меня просьба, подкиньте идею, с которой я смогу познать тонкости и тяготы деплоя, поддержки и развития проекта. А если этот проект будет сам по себе полезен и интересен, то вообще охуенно.

P.S. Если ты зеленый самоучка, то в ответ помогу с Django и Elasticsearch(хотя откуда тебе знать такие слова)
Аноним 04/09/16 Вск 23:27:51 #254 №835627 
>>835617
Не занимаешься чем?
Аноним 04/09/16 Вск 23:39:11 #255 №835636 
14730215520010.png
14730215520041.png
14730215520072.png
14730215520093.png
>>835624
Держи немного всякой бредовой фигни что мне в голову приходит иногда
Аноним 04/09/16 Вск 23:45:24 #256 №835639 
14730219251340.png
14730219251391.png
14730219251412.png
14730219251433.png
>>835624
Аноним 04/09/16 Вск 23:45:25 #257 №835640 
>>835636
1. У меня нет друзей, не нужно.
2. Не понял, в чем фишка. Удобный сайт для подписки на спам? Но зачем?
3. И что делать с этими достопримечательностями потом?
4. Это неплохо, но я хотел себе на планшет оффлайн базу данных лекарств.
Аноним 04/09/16 Вск 23:47:40 #258 №835641 
>>835639
1. Не нужно.
2. Вот это нужно, я о чем-то таком задумывался.
3. youtube-dl может такое
4. хех
Аноним 04/09/16 Вск 23:52:05 #259 №835647 
>>835640
2. Потому что за пределами it подписки это почти единственный способ актуально узнавать новости типа хоть какие есть конференции и тд
Куча народу ими пользуется. Ясен хуй что большая часть сразу метит как прочитанные, но все равно очень даже пользуются.
3. Списком выводить по gps- удаленности от юзера
>>835641
2. Я что странно даже не видел попыток что-то такое делать, одни кошельки с платными блядь категориями и возможностью сфоткать чек
Аноним 04/09/16 Вск 23:55:04 #260 №835650 
14730225042460.jpg
>>835636
>>835639
Неплохо, спасибо. Надо завести такую же привычку. )) Есть пару идей, которые уже прикинул как реализовать. Недавно запилил пре-альфу - сравнение цен в магазинах через парсинг сайтов или прайс-листы. Вообще планирую довести все это до полноценной системы, оценивающей выгодность покупки у того или иного поставщика.
Аноним 04/09/16 Вск 23:56:52 #261 №835651 
>>835624
На еще че я хочу:
Генератор профилактик заболеваний

1. Составить таблицу болезней
2. Составить таблицу профилактик с категориями 1) физ упражнения 2) регулярные обследования идти анализы 3) курсы медикаментов для профилактики 4) диеты ........
3. Составить таблицы более подробные по п.2: физ упражнения с картинками поз, альтернативные медикаменты, разница в двух анализах дающих на выходе один результат - короче эдакое many to many relationship по альтернатива
4. Проверка не противоречивости рекомендаций, что бы больному с циррозом от гепатита не предлагать бокал красного вина для снижения давления
5. Галочками выбирать болезни, получать рекомендации вплоть до экспорта анализов в календарь аутлука или регулярных напоминаний / обновлений по интересовавшим болезням
6. Калькулятор что бы предлагать на основании некоторых вводных рекомендованные болячки - ну типа сидячая работа, малоподвижный образ жизни, редкий секс - бойся простатита,
7. интеграция калькулятора в п.4: жирный - значит не бегай, а крути педали что бы колени не убить и тд
Аноним 05/09/16 Пнд 00:05:08 #262 №835661 
14730231083660.jpg
>>835651
Я думаю проще запилить энциклопедию
Аноним 05/09/16 Пнд 00:11:35 #263 №835668 
>>835627
Подготовкой к олимпиаде по программированию 11 класса. Задания для меня слишком сложные или слишком легки, я не знаю что делать
Аноним 05/09/16 Пнд 00:13:13 #264 №835670 
14730235937670.jpg
>>835364
Так придётся всем видам итераблов хуячить по методу, который конвертирует их в стринг.

>>835377
Взломал.

>>835668
Подрочи и не едь.
Аноним 05/09/16 Пнд 00:20:44 #265 №835671 
14730240449000.jpg
>>835668
Не заебывайся на сложном, оценил задачу - не видишь решения - приступай к следующей, потом вернешься.

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

Ешь, спи, дрочи поменьше - дрочуны не доводят дела до конца. ))
Аноним 05/09/16 Пнд 00:23:33 #266 №835673 
>>835671
Спасибо
Аноним 05/09/16 Пнд 00:35:53 #267 №835677 
>>835668
>>835671

В своё время тоже ехал на них. Если не готовился к ним ещё со средней школы, то и смысла ехать нету. Ради интереса разве. А учитывая, как бинарно выглядят для тебя задачи, и то, что это твой последний шанс (11 класс), то советую тебе лучше целиться на ЕГЭ, а не на подготовку к синтетическим задачам.
Аноним 05/09/16 Пнд 01:01:11 #268 №835683 
>>835651
АГа, блять. Покрутил я уже как-то раз педали. Пизда коленям моментально
Аноним 05/09/16 Пнд 01:10:48 #269 №835686 
14730270489150.jpg
>>>835683
Просто ты сорвал джекпот в генетической лотерее
Аноним 05/09/16 Пнд 02:20:17 #270 №835692 
14730312173930.png
Сап, антуаны. Второй день подрачиваю свою змею, пытаясь добиться хоть чего-то. Решаю каты на CodeWars в данный момент.

Пикрил - простая задачка, но захотелось решить как-нибудь покороче. Это нормально, или говнокол? Как можно еще укоротить решение?

<script src="http://ideone.com/e.js/2tarxE" type="text/javascript" ></script>
Аноним 05/09/16 Пнд 02:35:17 #271 №835703 
>>835692
http://ideone.com/IKgQj1
Аноним 05/09/16 Пнд 06:47:22 #272 №835752 
>>835703
Спасибо.
Аноним 05/09/16 Пнд 09:45:28 #273 №835796 
>>833638
Даю тебе доступ к репозиторию с кодом, даю пару тасков что тебе надо допилить, ты отправляешь коммиты, спрашиваешь вопросы, я тебе поясняю по харду за твой код, как лучше, за PEP8 и все такое.
Проект писался для таких же целей. Профита с него нет.
Аноним 05/09/16 Пнд 11:32:06 #274 №835819 
Хай бандиты, в полку питоноблядей прибыло.

Кратко о себе. 10 лет программирую на всякой хуйне, в основном базы данных. Могу ограниченно в шарпы, жабу, обжект паскал(что коненчсо кал), и прочее такое.

То есть со мной можно говорить на одном языке.

Теперь конкретно задаю свои ответы.
Сел за Пайтон пару дней назад. Покурил маны, дошел до 6й ( по счету 7й) задачи Пайтон челенджа, стало скучно.

Решил отключить голову от загадок, и написать простецеий клиент для веб сервиса своей конторы. Чисто попрактиковаться. И... соснул со старта.

Подскажите мне, есть в этом -вашем, блядь ПИТОНЕ, адекватная сборка(модуль) для работы с SOAP(WSDL), чтобы работало сразу и без ебли?

Я конечно погуглил, но половина того, что предлагают тут https://www.python.org/ у меня попросту не ставится, половина не взлетает, видимо из-за каких то багов с совместимостью.

https://www.python.org/

На комп встало но не заработало OSA, SOAP2Py, pysimplesoap


Некоторые пекейджи pip install просто не может постаивть, т.к. у меня нет Си компайлера. (поставить его не могу, прав на это в конторе нет)

Лонг стори шорт: реквистирую модуль для работы с СОАП , реализующий ВСДЛ и не требующий СИ компайлера для установки.

Ваш SQL-кун
Аноним 05/09/16 Пнд 11:52:23 #275 №835825 
>>835819
Зачем? Реализовать xml-rpc протокол (как сервер так и клиент) можно за 2-3 вечера под пивас. А так мануалов много, даже гуглить за тебя не буду.
Аноним 05/09/16 Пнд 12:15:34 #276 №835831 
>>835825
Чет не хватает теоритической подготовки.

Имеешь в виду самому такой модуль написать?

А какие БАЗОВЫЕ сборки надо будет юзать?
Аноним 05/09/16 Пнд 12:58:03 #277 №835847 
>>835831
Если у тебя не завелся suds, то это проблемы вашей анальной модерации, но никак не python.
Что ты подразумеваешь под базовыми сборками?
Теория вся описана в rfc. Можешь попробовать с virtualenv поиграться.
Аноним 05/09/16 Пнд 13:01:17 #278 №835849 
>>833629
Дай мне)
Аноним 05/09/16 Пнд 13:20:24 #279 №835859 
>>835847
Под базовыми сборками я понимаю то, что ставиться когда запускаешь ИнсталлПитонВин64.ехе
у меня тут питон 2.7 и питон 3.5

Кодю, соответственно, в ИДЛЕ или в ПиЧарм

Что такое СУДС вообще не знаю, сорян.


Аноним 05/09/16 Пнд 13:21:31 #280 №835861 
>>835847
Но вообще да,у меня проблемы с анальной модерацией сети, отчасти. То есть я могу тащемта качать веши с гитхаба, пип инсталл работает

Я не могу себе ПОСТАВИТЬ на тачку сишный компайлер.
Аноним 05/09/16 Пнд 15:31:07 #281 №835941 
Начал книгу по компиляторам читать, там какие-то термы хуермы, лексика, почему так сложно-то? На питоне быдлокодить как то попроще.
Аноним 05/09/16 Пнд 15:40:35 #282 №835943 
>>835941
Твои проблемы, надо было профильную вышку заканчивать.
Аноним 05/09/16 Пнд 15:46:32 #283 №835945 
>>835941

Да кому вообще эти компиляторы нужны, кроме 10 фанатиков?
Аноним 05/09/16 Пнд 15:47:03 #284 №835947 
>>835945
Я к тому, что это научная сфера больше, чем програмисткая
Аноним 05/09/16 Пнд 17:08:50 #285 №836023 
14730845305830.png
14730845305841.jpg
14730845305872.jpg
Двачик, я уже полтора часа пытаюсь решить эту ебливую задачку. Нашел подсказку (пик 3) и вот по этой подсказке пытаюсь решить, но у меня проблема - змея посылает меня на хуй и не выдает мне число ПЕРВОГО ВХОЖДЕНИЯ подстроки. Что делать ?
Может я всё-таки тупой и мне нахуй не нужно лезть в олимпиаду ? Здесь сложность 31% всего, а я уже полтора часа решаю
Аноним 05/09/16 Пнд 17:18:28 #286 №836028 
Сап, питонач. Что будет жрать меньше памяти и процессорного времени - flask или aiohttp? Требуется уместить на сервере как можно больше однотипных сайтов, отличающихся по сути только базами данных.
И вдогонку - взлетит ли идея на aiohttp соорудить эдакий диспатчер приложений, чтоб одним процессом обслуживать сразу дохера сайтов - асинхронщина же?
Аноним 05/09/16 Пнд 17:32:14 #287 №836036 
>>836023
Твоя функция вернула 12? Все верно, разве нет?
Аноним 05/09/16 Пнд 17:34:56 #288 №836038 
>>836036
Должна вернуть 6.
Она верно определяет только второй тест (2 скрин)
Аноним 05/09/16 Пнд 17:47:38 #289 №836047 
>>836023
чё-т изи http://ideone.com/jx4JjZ
Аноним 05/09/16 Пнд 17:51:35 #290 №836054 
>>836023
в чём проблема то? Первым шагом строишь уникальные массивы, где границы массива это первое и последнее число равное первому сектору.

Потом в цикле начиная с самого короткого проходишь все это говно по каждому массиву и доказываешь что каждое повторение цикла и есть текущий цикл. Или скипаешь эту хуйню И идешь дальше.
Аноним 05/09/16 Пнд 17:53:01 #291 №836058 
14730871812430.jpg
Аноним 05/09/16 Пнд 17:56:03 #292 №836063 
>>836054
>>836047
А сколько вы уже питон изучаете ? Почему так легко делаете ? Как стать таким же ?
Аноним 05/09/16 Пнд 17:58:54 #293 №836066 
>>836063
>Как стать таким же ?
Долбиться в жопу.
Аноним 05/09/16 Пнд 18:05:17 #294 №836068 
>>836047
Таки у тебя неправильно пройдет тест с 1111
Аноним 05/09/16 Пнд 18:14:56 #295 №836074 
>>836068
Почему? Там же есть массив с единичками, всё правильно выдаёт.

>>836063
Тут не в питоне же дело, а в мышлении, представлении задачи и продумывании алгоритма. А от языка зависит, скорее, лишь элегантность решения.
Аноним 05/09/16 Пнд 18:17:29 #296 №836080 
>>836074
Выдает 3, а нужно 1
Как мышление прокачать ?
Аноним 05/09/16 Пнд 18:17:49 #297 №836082 
>>836074
>лишь элегантность решения.
Как, например, конструкция for/else. Оче редко используется, а тут прям как родная зашла, аж приятно было писать.
Аноним 05/09/16 Пнд 18:18:32 #298 №836084 
>>836080
Математику попробуй, серьезно, только не всю, дискретку например или просто задачки на логику.
Аноним 05/09/16 Пнд 18:19:28 #299 №836086 
>>836080

Если родился тупым, то никак. У меня такое мышление было изначально. Это при том, что я гуманитарий.
Аноним 05/09/16 Пнд 18:19:44 #300 №836087 
>>836080
http://ideone.com/zaOyVI Ты куда-то не туда смотришь.

А это чёрт его знает, от природы/с детства. Любить решать всякие головоломки, ребусы хуебы, задачи на мудрецов в шляпах и т.д. Ну и те же задачи на программирование, наверное, тоже помогают.
Аноним 05/09/16 Пнд 18:20:01 #301 №836088 
>>836080
> Выдает 3, а нужно 1
А не всё правильно
Аноним 05/09/16 Пнд 18:21:14 #302 №836090 
>>836086
>>836080
И не слушай этого петуха, вопрос усердия и прокачки соответствующих навыков. Никто не хорош абсолютно во всем.
Аноним 05/09/16 Пнд 18:23:31 #303 №836093 
>>836090
Вопрос субстрата в виде уровня развития соответствующих полей и подполей головного мозга, маня. А это врожденный фактор, который нельзя ни прокачать и ни развить.
Аноним 05/09/16 Пнд 18:25:20 #304 №836094 
>>836084
> дискретку
А туда я смогу вкатиться с уровнем 11 класса ?
Сколько вы питоном занимаетесь ?
Аноним 05/09/16 Пнд 18:25:27 #305 №836095 
>>836093
Ты биолог дохуя? Нет. Если бы Энштейн не пошел бы в школу, а вырос в лесу, стал бы он великим ученым? Нет. Гены обуславливают стартовые условия, которые кстати можно еще и просрать, если ничего не делать.
Аноним 05/09/16 Пнд 18:26:37 #306 №836096 
>>836094

Ну я сейчас слушаю вот это курс https://stepic.org/course/%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D1%8B%D0%B5-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B-83/syllabus

, как заявлено автором первые два модуля освоят даже школьники, дальше хз. Я пока первый прохожу, все норм.
Аноним 05/09/16 Пнд 18:31:42 #307 №836103 
>>836095
Да, дохуя биолог. Эйнштейн пошел в школу - круто, да. Только вот у него был аномальный головной мозг, и, грубо говоря очень простым языком, математические области были нереально большими в ущерб гуманитарным.

Но есть еще примеры. Куча Васянов, которые годами пытаются научиться кодить, но все равно ничего не получается. А все почему? А потому, что от природы тупые. Ассоциативные области головного мозга, отвечающие за логическое и абстрактное мышление, у таких людей ничтожных размеров; Даже если они положат всю свою жизнь на то, чтобы кодить, они все равно будут отставать от тех, кого биологический рандом наградил нормальным субстратом для решения задач погроммирования.

И да, я не утверждал, что данный сударь тупой, и предел его развития настолько низкий, что ему ничего не светит.
Аноним 05/09/16 Пнд 18:56:07 #308 №836109 
14730909681320.png
14730909681331.jpg
Сложность факториала - 42%. Какого зхуя ? Я этот факториал изи делаю с динамикой
Аноним 05/09/16 Пнд 19:06:46 #309 №836113 
>>836109
>42
Я думаю, это неслучайно
Аноним 05/09/16 Пнд 19:44:26 #310 №836128 
>>836023
А дай-ка ссылку на эти твои задания.
Аноним 05/09/16 Пнд 19:53:02 #311 №836131 
>>836128
http://acmp.ru/index.asp?main=task&id_task=19
>>836113
Не понял
Аноним 05/09/16 Пнд 19:54:15 #312 №836134 
>>836131
Благодарю.
Аноним 05/09/16 Пнд 20:37:17 #313 №836158 
14730970376880.png
Как это пофиксить?
Аноним 05/09/16 Пнд 20:42:01 #314 №836163 
>>836158
Установить правильную версию kivy?
https://github.com/kivy/kivy-designer/issues/135
Аноним 05/09/16 Пнд 20:50:00 #315 №836167 
>>836163
а через pip разве не последняя ставится?
Аноним 05/09/16 Пнд 21:02:15 #316 №836177 
>>836167
python -c 'import kivy'

Какую версию показывает?
Аноним 05/09/16 Пнд 21:03:54 #317 №836179 
>>836177
>python -c 'import kivy'
1.8.0
Аноним 05/09/16 Пнд 21:03:55 #318 №836180 
Анон, делаю по https://gist.github.com/wannabearockstar/9bc790d3b5be4635b1c4 тестовый проект для набивки руки. Автор имеет пол. Надо думать что он может быть только мужик или баба. Куда деть логику обработки того, правильно ли юзер вбил пол и как мне это реальизовать? В классе прямо бахнуть проверку? Или есть более элегантный способ?
Аноним 05/09/16 Пнд 21:06:06 #319 №836184 
>>836179
1.9.1 нужна, попробуй pip install -U kivy
Аноним 05/09/16 Пнд 21:07:54 #320 №836186 
>>836180
А там разве тестовый проект на на php?

Мимо
Аноним 05/09/16 Пнд 21:09:54 #321 №836189 
>>836186
а мне как бы и похуй, я на джаге делаю. Какая разница-то?
Аноним 05/09/16 Пнд 21:15:27 #322 №836197 
>>836189
как насчет choices заебенить в поле? https://docs.djangoproject.com/en/1.10/ref/models/fields/#choices
В форме поле будет отображаться как выпадающий список с 2-мя вариантами выбора и проверять ниче не надо.
Аноним 05/09/16 Пнд 21:22:00 #323 №836201 
14730997208080.png
>>836184
Вот такая вот хуйня
Аноним 05/09/16 Пнд 21:24:53 #324 №836206 
>>836201
https://kivy.org/docs/installation/installation-linux.html#debian-jessie-or-newer
либо
https://kivy.org/docs/installation/installation-linux.html#dependencies-with-sdl2
Аноним 05/09/16 Пнд 21:28:51 #325 №836209 
>>836197
Спасибо, удобная штука.
Аноним 05/09/16 Пнд 21:57:55 #326 №836229 
>>836180
добавочный вопрос - как реализовать пользователей сайта и добавить им возможность добавлять книги, авторов, добавить личный кабинет и прочую шушару? В какую сторону смотреть?
Аноним 05/09/16 Пнд 22:15:54 #327 №836242 
>>836229
В джанге все это есть по умолчанию. Вот отсюда можешь стартануть: https://docs.djangoproject.com/en/1.10/topics/auth/
Там внизу есть ссылки, по ним попереходи и найдешь информацию о том, как использовать стандартные auth views, расширять модель пользователя и прочее.

Профили и добавление книг/авторов, в принципе, делаются так же, как и обычные страницы с формами. Ну или из админки можно все это добавлять.
Аноним 05/09/16 Пнд 22:32:29 #328 №836262 
>>836063
>Как стать таким же ?
Побольше пробелов перед знаками препинания и ты станешь таким же!
Аноним 05/09/16 Пнд 23:13:22 #329 №836300 
>>836047
Слегка оптимизировал:
http://ideone.com/MpUVxX
Аноним 05/09/16 Пнд 23:32:20 #330 №836314 
>>836300
Нампи, подлец, astype(int) перевёл в numpy.int64, а не питоновский. Потому и медленее. Но у тебя список в десять раз дольше создаётся — http://ideone.com/ep2NM4
Аноним 05/09/16 Пнд 23:39:36 #331 №836321 
>>836314
30 ms вместо 3 ms, какая неудача :3
Зато нет оверхеда по памяти на импорт numpy.
Аноним 05/09/16 Пнд 23:48:04 #332 №836332 
>>836321
random кстати значительно быстрее randint
http://ideone.com/ixVnMm
Аноним 05/09/16 Пнд 23:57:42 #333 №836351 
14731090626780.png
Дывощ, подскажи, как можно сделать ходы наискосок у ферзя.
Буду завтра доделывать всё остальное
Аноним 06/09/16 Втр 00:05:00 #334 №836356 
>>836351
Тебя миллион конвертаций в int не смущают?

Нихуя не понятно, в чём там у тебя проблема-то? Ход по диагонали это же просто pos[0][0] +/-=n, pos[0] +/-=n. Но у тебя же вообще просто конвертируется цифробуквенная координата в индекс матрицы. Или ты хочешь проверить, разрешён ли такой ход?
Аноним 06/09/16 Втр 00:05:57 #335 №836358 
>>836356
>pos[0][0] +/-=n, pos[0][1] +/-=n.
Аноним 06/09/16 Втр 00:07:14 #336 №836359 
>>832737
тож интересно
Аноним 06/09/16 Втр 00:09:27 #337 №836361 
>>836356
> Тебя миллион конвертаций в int не смущают?
Это всё я буду фиксить после того как задание засчитается.
> Нихуя не понятно, в чём там у тебя проблема-то?
Попробовал сделать ход влево-вверх, но у меня проихошла хуйня (смотреть в верхнюю правую часть), поэтому нужно написать нормальную формулу
> pos[0][0] +/-=n, pos[0] +/-=n
А это сработает ? Это же относительно начала отсчета координат, а мне нужно относительно ферзя
Аноним 06/09/16 Втр 00:58:23 #338 №836390 
>>836361
Я правильно понял, что тебе вот такое на выходе нужно http://pastebin.com/Nv9vPFp8 ?
Аноним 06/09/16 Втр 01:02:14 #339 №836393 
Блядь, олимпиадник, новичёк... уёбывайте нахуй отсюда!
Аноним 06/09/16 Втр 01:25:43 #340 №836396 
Бля, вот я пишу код, он вроде работает, но я не понимаю, почему именно. Ахуеть у меня интуиция.
Аноним 06/09/16 Втр 01:31:03 #341 №836397 
После Джанги Фласк в натуре уебанский. Армин дохуя умный конечно, но выставленные жопой наружу синглтоны не позволяют ни писать, ни читать.

Уебанство.
Аноним 06/09/16 Втр 03:00:26 #342 №836414 
>>836201
python-dev пакет накати, gcc не может хеадер найти
>>836396
> вот я пишу код, он вроде работает, но я не понимаю, почему именно
Лил, у нас так сервак на работе пашет, никто не понимает как, но умудряемся какие-то фичи добавлять даже
>>836397
flask микрофреймворк, это как бы клей для приложения. А джанго навороченная тяжелая хуита. Если нужен минимум удобностей юзай лучше bottle
Аноним 06/09/16 Втр 03:22:47 #343 №836417 
>>836414
>flask микрофреймворк, это как бы клей для приложения.
Какой еще нахуй клей? Фласк by design сломан, приложения с ним превращаются в дрисню, где на каждый дрист нужно дергать глобальные переменные.
Аноним 06/09/16 Втр 04:44:15 #344 №836423 
>>836396
Тоже так делаю, смотрю на числа и подгоняю под них код.
Аноним 06/09/16 Втр 07:18:03 #345 №836431 
>>836390
Да. И чтобы все это рассчитывалосьь относительно Ф
Аноним 06/09/16 Втр 09:09:36 #346 №836445 
>>833510
>Перезвоним.
В чем проблема?
sage06/09/16 Втр 09:39:22 #347 №836455 
>>836428
Делай нормальные ссылки, не вводи анона в заблуждение
Аноним 06/09/16 Втр 10:12:42 #348 №836465 
>>836417
И что, в маленьких и средних проектах это вообще некритично.
Аноним 06/09/16 Втр 13:41:58 #349 №836517 
>>836455
Мочарня, пора завести прикрепленный тред с сылками на конфы
Аноним 06/09/16 Втр 13:42:32 #350 №836518 
>>836465
В Django зато все из коробки.
Аноним 06/09/16 Втр 14:50:52 #351 №836553 
>>836417
Ну в подобных фреймворках своя атмосфера. Они by design заточены под однопоточное выполнение с uwsgi со своим окружением. То есть для uwsgi нудно плодить еще воркеров если понадобится.
Хочется большей модульности - есть асинхронщина.
Аноним 06/09/16 Втр 16:30:58 #352 №836587 
>>832745
def check_palindrome(s):
for x, y in zip(s, s[::-1]):
if x != y: return False
return True
Аноним 06/09/16 Втр 16:36:08 #353 №836591 
>>836587
all(x == y for x, y in zip(s, reversed(s)))
Аноним 06/09/16 Втр 16:53:52 #354 №836600 
14731700322690.png
Мде, даже первое задание вступительного этапа не могу сделать
Аноним 06/09/16 Втр 17:03:37 #355 №836604 
>>836600
хм. интересное ж задание.
Есть первое N. смотришь, чему оно равно.
Потом второе н2. Если н2 меньше н выполняешь каой-то код. Теперь я буду думать всё ночь. Спасибо, АНон!
Аноним 06/09/16 Втр 17:12:17 #356 №836612 
>>836604
http://ideone.com/kc6sEe
Аноним 06/09/16 Втр 17:12:24 #357 №836613 
>>836591
клева
Аноним 06/09/16 Втр 17:12:33 #358 №836614 
>>836604
Через обычные циклы будешь едлать ?
Аноним 06/09/16 Втр 17:18:38 #359 №836616 
как начать писать на фласке? как разобраться в нем? есть к только что начал писать на нем? как начали вообще?
Аноним 06/09/16 Втр 17:23:24 #360 №836620 
>>836612
Капец блять, такое простое решение
Аноним 06/09/16 Втр 17:52:16 #361 №836628 
>>836616
man server gateway interface
man mvc
man orm
А дальше просто посмотри примеры в репозитории. Собственно я так и делал.
Аноним 06/09/16 Втр 18:26:07 #362 №836648 
>>832681 (OP)
Помогите с XML и Xpath. Почему выражение не находит элемент и xpath выдает пустой результат ?

Скрипт (с xml в строке):
http://ideone.com/pmn5Zg

XML в виде отдельного файла
http://pastebin.com/sxsRV8Hy

сам XML проверенный, ошибок не выдает
Аноним 06/09/16 Втр 19:27:17 #363 №836676 
Автор и Жанр нельзя удалить, пока к ним привязан хотя бы 1 книга. Куда запихать эту логику? Если в модель саму, то я знаю что есть метод delete(). мне нужно будет декоратор к нему писать?
Аноним 06/09/16 Втр 19:37:42 #364 №836685 
>>836648
есть два стула

раз
nodes= tree7.xpath("//[local-name() = 'outputTree']/[local-name() = 'command']/*[local-name() = 'pivotTable' and @varName='gender']")

два
ns = {"oms": "http://www.ibm.com/software/analytics/spss/xml/oms"}
nodes= tree7.xpath("/oms:outputTree/oms:command/oms:pivotTable[@varName='gender']", namespaces = ns)

наслаждайся своими неймспейсами
Аноним 06/09/16 Втр 19:39:47 #365 №836688 
>>836685
http://pastebin.com/ckZivx8J
Аноним 06/09/16 Втр 19:43:10 #366 №836697 
>>836676
Попробуй в поле ForeignKey добавить аргумент on_delete.
https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.ForeignKey.on_delete

По умолчанию - CASCADE, то есть связанные объекты удаляются. Попробуй PROTECT, который бросит эксепшн при попытке удаления или DO_NOTHING
Аноним 06/09/16 Втр 20:16:59 #367 №836723 
Палиндромистам выше.
Я не понимаю, разве просто сравнить строку с её reversed вариантом не вариант)?
Аноним 06/09/16 Втр 20:25:16 #368 №836735 
>>836628
я свое первое (и пока последнее) быдлоподелие на фласке писал с чистыми sql запросами к sqlite3 базе лол
Аноним 06/09/16 Втр 20:41:01 #369 №836747 
>>836723
Вариант.
Аноним 06/09/16 Втр 21:41:19 #370 №836787 
сап зк. посоветуйте либу для работы с rest API как клиент. сейчас руками спрашиваю все с помощью requests, но неудобно.
желательно чтобы можно было колбеки для процессинга ответа передавать.
Аноним 06/09/16 Втр 21:55:56 #371 №836803 
14731881567890.png
Сап питонач, 16 лвл, недавно вкатился в python, накалякал программку для решения квадратных уравнений. Хочу услышать критику/советы по оформлению, чтоб было красиво, просто kiss, dry там всякие и не говнокодисто
Аноним 06/09/16 Втр 22:01:02 #372 №836815 
>>836803
преобразование во float оберни в try-catch.
вместо % используй .format. всегда выводи значения через format.
если а=0, будет деление на ноль.
проверь скрипт flake8
Аноним 06/09/16 Втр 22:05:45 #373 №836821 
>>836815
премного благодарен
Не мог бы ты пояснить насчёт второго пункта? почему вынос через .format лучше, чем через %
Аноним 06/09/16 Втр 22:06:32 #374 №836823 
>>836815
> Не мог бы ты пояснить насчёт второго пункта? почему вынос через .format лучше, чем через %
Не слушай поехавшего фанатика.
Аноним 06/09/16 Втр 22:07:27 #375 №836824 
>>836823
ты тоже тогда обоснуй
Аноним 06/09/16 Втр 22:12:29 #376 №836831 
>>833734
Берешь и без задней мысли пишешь, попутно выучив верстку на html и css
Аноним 06/09/16 Втр 22:19:58 #377 №836839 
>>836824
format функциональнее, но если тебе удобнее и хватает % форматирования, то нет ничего плохого в том, чтобы использовать его.
К слову, logging модуль до сих пор использует проценты.
Аноним 06/09/16 Втр 22:28:24 #378 №836845 
14731901050500.png
Анон, помоги разобраться как работает super().__init__
Вот есть у меня класс Hand (у которого есть cards и number), делаю от него дочерний класс Player (c name и points).
1) как сделать, чтобы Player унаследовал первые два?
2) как сделать, чтобы Player унаследовал только cards, а number присвоил 0
3) как сделать, чтобы Player унаследовал только number (у Player будет только number, name & points)
stackoverflow уже полчаса читаю, доков по суперу с __init__ не нашел
Аноним 06/09/16 Втр 22:35:55 #379 №836853 
>>836845
через супер всегда же обрабатываются все родители, не?
Аноним 06/09/16 Втр 22:37:32 #380 №836855 
>>836823
% deprecated. этого достаточно
Аноним 06/09/16 Втр 22:38:00 #381 №836857 
>>836855
Кто тебе такое сказал?
Аноним 06/09/16 Втр 23:08:09 #382 №836878 
>>836845
1. вызываешь супер инит
2. п.1 + self.number = 0
3. самое просто это del self.cards
3a. можно сделать super().__init__(cards=None) и в Hand.__init__ проверять, если cards is None, не присваивать.
Но скорее ты что-то не так проектируешь.
Аноним 06/09/16 Втр 23:23:18 #383 №836895 
>>836878
Можешь именно код скинуть под все три случая? пожалуйста
я даже не могу разобраться какие параметры куда прописывать

я представляю это типа:
def __init__(self, что тут?)
super(Hand, self).__init(хз что тут писать)
self.points = points
self.name = name
del self.number

Вот эти два хз меня и смущают, нигде не нашел что за что отвечает.
> Но скорее ты что-то не так проектируешь.
там все кроме первого вопроса - для вообще понимания возможностей такого подхода
Аноним 06/09/16 Втр 23:33:44 #384 №836913 
>>836895
> def __init__(self, что тут?)
Какие аргументы класс принимает, те и пиши.

> super(Hand, self).__init(хз что тут писать)
Тут наверное super(Player, self) ты хотел написать, можешь вообще просто super() использовать в 3 питоне.
Что писать? То, чем хочешь инициализировать родительский класс.

class Hand:
. . def __init__(self, number, cards=54):
. . . . super().__init__()
. . . . self.cards = cards
. . . . self.number = number

class Player(Hand):
. . def __init__(self, name, number, points=10):
. . . . super().__init__(number)
. . . . del self.cards

. . . . self.name = name
. . . . self.number = number
. . . . self.points = points

player = Player('anon', 1, 5)
Аноним 06/09/16 Втр 23:35:58 #385 №836917 
Почему этот засцяный пайтон постоянно выёбывается на виде? Это язык только для пердоликов штоли?
Аноним 06/09/16 Втр 23:37:22 #386 №836922 
>>836917
>винде
Аноним 06/09/16 Втр 23:40:38 #387 №836927 
>>836857
документация
http://docs.python.org/3.2/tutorial/inputoutput.html#old-string-formatting
Аноним 06/09/16 Втр 23:43:44 #388 №836932 
>>836922
Это старые доки, они передумали выпиливать.
https://docs.python.org/3/tutorial/inputoutput.html#old-string-formatting
Аноним 07/09/16 Срд 00:29:35 #389 №836949 
>>836787
> колбеки
Хорошо, что такой нет.
Аноним 07/09/16 Срд 00:37:48 #390 №836952 
>>836949
можно и без колбеков.
Аноним 07/09/16 Срд 00:43:13 #391 №836956 
>>836952
Тогда aiohttp хватает.
Аноним 07/09/16 Срд 00:46:49 #392 №836957 
>>836956
где там про rest? урлы скачивать я requests'ом могу
Аноним 07/09/16 Срд 00:53:11 #393 №836958 
>>836957
Сделай обёртку над __getattr__, хуле ты как калека? может и либа, конечно, есть, но идея реста, чтобы использовать хттп и следовательно либы для хттп. иначе бы сделали новый протокол без лишнего говна
Аноним 07/09/16 Срд 02:43:05 #394 №836985 
>>836787
Покажи, как ты сейчас дергаешь апи на паре примеров.
Потом покажи, как тебе хотелось бы дергать.
Аноним 07/09/16 Срд 03:16:29 #395 №836990 
>>836917
Тому шо виндопогромистам не нужен пайтон, у них своего говна навалом
Аноним 07/09/16 Срд 03:57:21 #396 №836992 
>>836917
А че тебе не так на винде? Хуярю с пайчарма на винде, все норм.
Аноним 07/09/16 Срд 07:10:28 #397 №837010 
>>836747
Но надо изъебнуться раком в сраку и сделать все хитро?
Аноним 07/09/16 Срд 08:15:33 #398 №837027 
>>837010
Каким раком? Что тебе не нравится?
Стандартное решение это пройтись до середины строки с обоих концов, сравнивая символы по пути.
Аноним 07/09/16 Срд 08:50:53 #399 №837036 
>>836913
Т.е. :
1) в def __init__(self, name, number, points=10) я прописываю ВСЕ атрибуты, которые нужны новому классу?
2) а в super().__init__(number) - то, что берется из родительского? Но зачем тогда del self.cards?
3) > super().__init__()
я правильно понимаю, что это просто запустит весь код init родителя, т.е. создаст self.number и self.cards или выполнит что-то еще (при наличии)?
что тогда дает указание атрибутов типа super().__init__(number)?
Аноним 07/09/16 Срд 11:24:43 #400 №837105 
Анон, часа два уже ковыряю код, не пойму в чем дело:
при выполнении self.deck.deal(self.players, 1) выдает
AttributeError: 'list' object has no attribute 'deck'
хотя сам deck - объект с методом deal

В самом шелле вручную то же самое вбиваю - отлично все работает, карты сдаются, очки считаются и т.д.


http://pastebin.com/SdE2n9zm - сам код
http://pastebin.com/wwQV0dbJ - оба модуля для него
Аноним 07/09/16 Срд 12:05:09 #401 №837122 
>>837105
Game.play(names) замени на Game(names).play(). И не тупи так больше.
Аноним 07/09/16 Срд 12:50:58 #402 №837138 
>>837122
Спасибо большое
А как вообще такие ошибки находить? Сам-то питон на список вообще ругался
Аноним 07/09/16 Срд 13:33:37 #403 №837161 
>>837138
Это вообще не ошибка.
Аноним 07/09/16 Срд 14:13:12 #404 №837198 
>>837036
1. Да.
2. У cards есть значение по умолчанию (54), поэтому его не нужно было указывать. Когда ты вызываешь инит родительского класса, то он исполняется, в данном случае родитель присваивает объекту number и cards, но ты не хотел карты у игрока, поэтому и del self.cards.
3. Правильно. Указание аргументов необходимо потому, что родитель требует этого.
Представь себе, что ты просто создаешь новый объект класса Hand. В данном примере, Hand требует от тебя указать number и по желанию cards при создании.
Аноним 07/09/16 Срд 14:25:20 #405 №837209 
Почему у нас нет телеграмо-конфы?
Аноним 07/09/16 Срд 14:29:22 #406 №837217 
>>837209
Потому что нинужна
sageАноним 07/09/16 Срд 16:21:52 #407 №837306 
>>837217
прямо как питон
Аноним 07/09/16 Срд 17:04:45 #408 №837355 
14732570852100.jpg
Как вот это сделать ?
Аноним 07/09/16 Срд 17:10:27 #409 №837363 
>>837306
Пайтон как раз таки нужен, в отличии от телеграма.
Аноним 07/09/16 Срд 17:14:56 #410 №837368 
14732576966950.jpg
>>837306
Аноним 07/09/16 Срд 17:39:17 #411 №837401 
>>836845
У вас пикча поломата, непорядок. Соус двух оригинальных изображений?
Аноним 07/09/16 Срд 18:35:21 #412 №837439 
14732625216140.jpg
Блять как научитсья программировать :(((((( Сука дней всё меньше блять, а у меня никакого прогресса нет. Вот ща думаю, может учиться на готовом коде. То есть искать готовый код задач, разбирать этот код, добавлять в него свои комментарии. И по возможности искать похожие задачи, чтобы с полученными знаниями научитсья кодить
Аноним 07/09/16 Срд 18:39:21 #413 №837443 
14732627613180.png
Такое чувство, будто чтобы пройти дальше, нужно особым образом изменить сознание.
Надо мной как будто гильотина, которая скоро упадёт :(
Аноним 07/09/16 Срд 18:44:39 #414 №837449 
>>837439
Забей, это просто не твое.
Аноним 07/09/16 Срд 18:46:59 #415 №837452 

Наименьшее число m, такое, что m! делится без остатка на 10 — это m=5 (5! = 120). Аналогично, наименьшее число m, такое, что m! делится без остатка на 25 — это m=10. В общем случае, значение функции s(n) равно наименьшему числу m, такому что m! без остатка делится на n. Определим функцию S(M, N) = ∑s(n) для всех n ∈ [M, N]. К примеру, S(6, 10) = 3 + 7 + 4 + 6 + 5 = 25. Найдите S(600000000, 610000000).

Задача


Моя реализация - http://pastebin.com/ADWJg0tq

Считает 100 лет, как ускорить? Вообще нет идей
Аноним 07/09/16 Срд 18:48:46 #416 №837454 
>>837452
Точнее вообще не могу результата дождаться, видимо это надо писать на сях...
Аноним 07/09/16 Срд 18:58:34 #417 №837458 
>>837449
Чувак, я в 9 классе решгил, что буду айтишником.
Аноним 07/09/16 Срд 19:00:27 #418 №837460 
>>837458

Вот разбери мой код

>>837452
Аноним 07/09/16 Срд 19:00:51 #419 №837461 
>>837458
Я в 25 решил, что буду айтишником. Прикольно, че. Но толку-то?
Аноним 07/09/16 Срд 19:10:38 #420 №837475 
>>837452
> ∑
Вот такую хуйню еще не проходил на математике
То есть n - число, на которое должен разделиться факториал без остатка, а m - сам факториал ?
>>837461
Более того, я лучший в классе и скорее всего лучший в городе среди 11 классов
Аноним 07/09/16 Срд 19:14:34 #421 №837481 
>>837475
Ну да, это сигма то-есть сумма элементов в некотором диапазоне. Допустим ∑ x при x принадлежит от 1 до 10 значит просто сумма всех чисел от 1 до 10
Аноним 07/09/16 Срд 19:24:08 #422 №837492 
>>837475
Умничка. Тогда у тебя все будет хорошо. А я вот неудачник, который лучше только своей собаки, но тоже превозмогаю.
Аноним 07/09/16 Срд 19:27:31 #423 №837501 
14732656516570.png
>>837481
Дальеш что нужнол делать ? Сумму элементов от 0 до 62 ?
Аноним 07/09/16 Срд 19:29:47 #424 №837502 
>>837501
Нужно найти число минимальных факториалов которые разделятся без остатка , на каждый элемент от 600 000 000 до 610 000 000, (если такой факториал есть.
Аноним 07/09/16 Срд 19:36:01 #425 №837506 
>>837502
То есть нужно найти факториал, которые без остатка делится на каждое число от 600 млн до 610 млн ?
Сколько таких фактоиралов нужно найти ? Сколько можно, но ведь они будут очень долго считаться же ?
Аноним 07/09/16 Срд 19:41:02 #426 №837510 
>>837506
В том-то и дело, нужно найти для каждого числа такой факториал (минимальный), который разделится на это число без остатка, при этом не указаны границы, я выставил не более 500, уже час считает лол. Для небольших цифр быстро находит, наверняка есть изящное решение.
Аноним 07/09/16 Срд 19:42:02 #427 №837512 
>>837510
Позже попробую
Аноним 07/09/16 Срд 19:47:23 #428 №837518 
>>837355
Элементарно жи: http://ideone.com/SJZ9dk
max_saw_op — более примитивный и топорный вариант, который просто выбирает нужный начальный оператор (больше или меньше) и при каждом "верном" сравнении меняет его на другой. Скорее всего, не самым эффективным способом, зато в одну строку.
Аноним 07/09/16 Срд 20:02:31 #429 №837540 
>>837510
>>837502
Не, нихуя не понял. Нужно найти факториал, которые делится без остатка на все эти числа или нужно найти ? Нужно найти несколько таких факториалов ? А что за магические символы в условии тогда ?
Аноним 07/09/16 Срд 20:04:51 #430 №837547 
>>837540
Для каждого числа нужно найти факториал, который делится на него без остатка и потом все факториалы эти сложить и вывести сумму. Короче я хуй забил уже.
Аноним 07/09/16 Срд 20:05:13 #431 №837548 
>>837547
Это разные факториалы
Аноним 07/09/16 Срд 20:13:16 #432 №837564 
14732683972050.png
>>837547
Что-то такое ? Тоже очень должно решается
Аноним 07/09/16 Срд 20:18:07 #433 №837577 
>>837564
Ну да, похоже, я просто раздробил на отдельные функции.
Аноним 07/09/16 Срд 20:19:29 #434 №837580 
>>837564
Только у тебя бесконечный вайл луп, нужна точка выхода
Аноним 07/09/16 Срд 20:26:20 #435 №837586 
>>837580
Ой, точно
Аноним 08/09/16 Чтв 03:08:27 #436 №837836 
>>837452
http://ideone.com/g6Wn5O

Запускал на pypy с установленным sympy, считалось минут 7-8 для значений 570000000, 580000000.
Аноним 08/09/16 Чтв 03:18:46 #437 №837838 
Что с чекио то произошло? Теперь задачи открываются по одной? Нельзя выбрать из всех удобную и самые сложные на конец оставить. Что за хуета.
Аноним 08/09/16 Чтв 03:28:24 #438 №837840 
>>837838
На сложности элементари была задача про булеву алгебру, теперь её нет, что за хуйня.
Аноним 08/09/16 Чтв 04:27:57 #439 №837844 
Ппц
Аноним 08/09/16 Чтв 08:44:57 #440 №837861 
>>837452
>В общем случае, значение функции s(n) равно наименьшему числу m, такому что m! без остатка делится на n.
Если я правильно понял задачу, то очень просто.
Возьми напиши функцию, которая раскладывает факториал на множители (это очень быстрая операция для факториала). Далее разложи твой n на множители (уже не факториальное разложение) и найди первое m!, которое включает в себя n множители.

Это в первом приближении. Тут есть много вариантов оптимизации.
Аноним 08/09/16 Чтв 09:05:17 #441 №837864 
>>837861
Добавлю, что начинать поиск m нужно с наибольшего простого числа из n.
Аноним 08/09/16 Чтв 10:24:10 #442 №837885 
>>837452
Вот тебе еще одна мысль.
Создай список с разложением факториалов на множители. Т.е. это будет список списков с числами.
Каждый следующий факториал - это просто предыдущий с добавленными туда сомножетилями следующего m.
Тебе понадобится либа для факторизации.

Далее, когда тебе нужно вычислить s(n), то ты делаешь следующие:
1. Факторизуешь n
2. Делаешь проход по списку и первый entry, который у тебя включает факторизированное n и будет нужное m
Далее суммируешь эмы.

Опять же есть простор для оптимизации. Плюс тут нужно решить memory-speed tradeoff.

Вангую, что тут есть хитрое математическое решение, которое можно получить если знать предметную область.

Но ты всего вышеприведенного сделать не сможешь, т.к. ты тупой школьник, который даже опыта написания кода толком не имеет.

Я нагуглил где ты эту задачу взял
https://school.hh.ru/
Аноним 08/09/16 Чтв 10:24:18 #443 №837886 
>>837861
Следует заметить, что для факториала достаточно взять максимальное число p m, где p простой множитель и m его степень в разложении, тогда все остальные множители будут уже включены.
Или не совсем степень. Например 8, которое 2^3, для него факториалом будет 4, а не 6 = 2
3, из-за того, в 4! уже имеются все искомые 3 двойки, 2 и 4 = 2 * 2, то есть нужно искать это число, а не степень.

Но все равно это долго для больших чисел,
C числами от 0 до 10м вычисляется за 10 минут на сpython, с числами от 570м до 580м около часа. Я не знаю, может быть если построить какое-нибудь дерево для чисел меньше некоторого N и не вычислять разложение для 570000000 + k каждый раз с нуля, то можно будет сократить время до 10 минут.
Аноним 08/09/16 Чтв 10:26:09 #444 №837887 
>>837886
> p m
> 6 = 2 3
Аноним 08/09/16 Чтв 10:26:39 #445 №837888 
>>837886
Первый параграф нехуя не понял.
Аноним 08/09/16 Чтв 10:30:09 #446 №837890 
>>837885
> и первый entry, который у тебя включает факторизированное n и будет нужное m
Индекс первого entry, конечно. Разумеется у список отсортирован по возрастающему.
Аноним 08/09/16 Чтв 10:50:32 #447 №837897 
Есть одно тестовое задание, нужно отсортировать числа/строки по возрастанию/убыванию по алгоритму сортировки вставками, но при этом нельзя использовать библиотечные функции сортировки, с числами я разобрался, а вот как сортировать строки по лексикографическому порядку я не знаю.
Вот так я сконвертил слова в коды символов:
https://ideone.com/hX3A15
а вот как отсортировать этот список и потом chr'нуть их обратно я не понимаю.
Аноним 08/09/16 Чтв 10:52:55 #448 №837899 
>>837897
>а вот как сортировать строки по лексикографическому порядку я не знаю.
google: lexicographical order
Аноним 08/09/16 Чтв 10:53:22 #449 №837900 
>>837897
К слову, в питоне можно строки сравнивать.
Аноним 08/09/16 Чтв 10:54:40 #450 №837905 
>>837900
Надо лексикографический порядок использовать.
Аноним 08/09/16 Чтв 10:56:46 #451 №837906 
>>837905
http://stackoverflow.com/questions/4806911/string-comparison-technique-used-by-python
Аноним 08/09/16 Чтв 11:05:37 #452 №837912 
>>837905
Так и делается. Причем не только строки, а вообще любые контейнеры, насколько я понимаю.
Аноним 08/09/16 Чтв 11:15:45 #453 №837917 
14733225461220.jpg
>>837906>>837912
Блин, и правда, всё работает, у меня как обычно голова полна велосипедов, спасибо!
Аноним 08/09/16 Чтв 12:03:19 #454 №837939 
на работке дали фласкопроджект, ну думаю заебца, здесь часто расказывали какой фласк пиздатый
открываю проджект - папка рандомных скриптов вперемешку с баш костылями, куча глобальных переменных, роуты в декораторах
ну хуйня, думаю, лох какой-то писал, открываю фласковики по структуре проектов, и тут-то меня ждет кекус-максимус:
> Here’s an example __init__.py:
>
> from flask import Flask
> app = Flask(__name__)
>
> import yourapplication.views
фласкодебилы, вы там совсем ебанулись?, кто в здравом уме будет советовать это говно?
Аноним 08/09/16 Чтв 12:48:54 #455 №837969 
>>837939
Ты познал суть, молодец. Теперь можешь переходить на следующий уровень.
Аноним 08/09/16 Чтв 12:50:07 #456 №837970 
>>837939
Не очень понял.
Аноним 08/09/16 Чтв 12:55:37 #457 №837971 
>>837939
Сайты на flask хуёво делать, анон говорил что на нём хорошо api'шки делать.
Аноним 08/09/16 Чтв 12:57:34 #458 №837973 
>>837971
>
>Сайты на flask хуёво делать, анон говорил что на нём хорошо api'шки делать.
А можно более конкретно. Хочу вкатиться в это дело.
Чем плох фласк и хорош? На чем лучше всего делать сайты?
Аноним 08/09/16 Чтв 13:06:31 #459 №837976 
>>837973
>На чем лучше всего делать сайты?
На пхп.
Аноним 08/09/16 Чтв 13:07:38 #460 №837977 
>>837976
>На пхп.
Но я гетеро!
Аноним 08/09/16 Чтв 14:06:58 #461 №838005 
Анон, какого черта питон складывает 10000 + 5000 + 5000 = 20000.0
схуя там .0 получается понимаю там с плавающей точной в js пиздец, но тут целые числа складываются. Мне что теперь при любой проверке на int число насильно в целое превращать?
Аноним 08/09/16 Чтв 14:11:05 #462 №838010 
>>837991
Наркоман?
Аноним 08/09/16 Чтв 14:12:20 #463 №838013 
>>838005
>10000 + 5000 + 5000
python 3.5.2
Не подтверждено
Аноним 08/09/16 Чтв 14:12:59 #464 №838017 
>>838010
>>838005
Вот сюда
Аноним 08/09/16 Чтв 14:13:43 #465 №838019 
>>838005
https://repl.it/languages/python
Аноним 08/09/16 Чтв 14:19:10 #466 №838025 
14733335506690.png
>>838010
>>838013
9600 + 8440 = 18000.0
Аноним 08/09/16 Чтв 14:26:24 #467 №838028 
>>838025
Снова не подтверждаю.
Может глянешь сюда?

https://wiki.python.org/moin/FutureProofPython
Аноним 08/09/16 Чтв 14:44:53 #468 №838046 
>>838025
>9600 + 8440
C:\Python27\python.exe C:/Users/apavlov/PycharmProjects/PySaHelper/Main.py
18040

Process finished with exit code 0
Аноним 08/09/16 Чтв 14:59:24 #469 №838071 
>>838025
Ну ты код-то может покажешь? Флоат у тебя, очевидно, получается ещё при подсчёте суммы выигрыша.
Аноним 08/09/16 Чтв 15:09:06 #470 №838076 
Ебаный питон, как н меня достал. Корочи антуаны, я второй день пытаюсь поставить kivy.

питан 3,5

LINK : fatal error LNK1181: cannot open input file 'glew32.lib'
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\
BIN\\x86_amd64\\link.exe' failed with exit status 1181

Ебаный рот, ну у меня же лежит glew32.lib в C:\Windows\System32

Что делать то, котаны?
Аноним 08/09/16 Чтв 15:11:13 #471 №838078 
>>838071
http://pastebin.com/32i9Q51i
там флоат еще в банкролле виден
при создании он равен 0, изменяется кодом:
for player in self.players:
player.make_stake()
self.bankroll += player.stake

def make_stake(self):
self.stake = games.ask_number("\n" + self.name + ", what's your stake? (1 - %s): " % self.money, 1, (self.money + 1))
self.stake = round(self.stake)
self.money -= self.stake

попробовал округлить ставку - все равно общая сумма флоатом получается
Аноним 08/09/16 Чтв 15:13:49 #472 №838080 
>>838078
мартыха, ну напиши ты int() для своего результата, и успокойся
Аноним 08/09/16 Чтв 15:15:05 #473 №838082 
>>838080
> ну напиши ты int() для своего результата, и успокойся
это и будет мартыхо-подходом, ты мне причину скажи
Аноним 08/09/16 Чтв 15:19:05 #474 №838090 
>>838078
На. https://docs.python.org/3/library/functions.html?highlight=round#round

Если ты с инатми оперируешь, то что ты там округляешь-то, блин?
Аноним 08/09/16 Чтв 15:19:43 #475 №838092 
Нашел нужное место:
> self.bankroll / len(winners)
при делении двух целых оно мне выдает флоат, даже если получается целое
Аноним 08/09/16 Чтв 15:19:59 #476 №838093 
>>838090
В смысле, тут читать
>Return the floating point value
Аноним 08/09/16 Чтв 15:20:50 #477 №838097 
>>838092
Пф, на это тебе тоже указывали уже тут >>838028
Аноним 08/09/16 Чтв 15:22:12 #478 №838099 
>>838097
>>838028
Да не заметил сразу, спасибо, зато теперь запомнится лучше :3
Аноним 08/09/16 Чтв 15:23:18 #479 №838101 
>>838099
Всегда рады помочь. Нет.
Поясните ньюфагу Аноним 08/09/16 Чтв 15:41:07 #480 №838115 
В сети столько криков, о том что, за python2 надо по рукам бить, а python3 - красотища.

Только вот херня, попытался портировать свой микро веб-скрппер, хотел обойтись без lxml, потому как её надо ставить отдельно. В итоге - столько говна глотнул.
На стековерфлоу хуй различишь о какой версии вопрос.
Python2 ебёт мозги с utf8, python3 не имеет иструментов для веб парсинга.
Нахуй так жить?

Что почитать, чтобы перестать соасть хуй?
А может нахуй вообще этот ваш python?
Аноним 08/09/16 Чтв 15:46:10 #481 №838120 
>>838115
>python3 не имеет иструментов для веб парсинга
Это скорее "я лох и не умею найти нужные инструменты"

https://docs.python.org/3/library/html.parser.html
Аноним 08/09/16 Чтв 15:48:31 #482 №838122 
>>838115
>python3 не имеет иструментов для веб парсинга.
Погодь, погодь, но ведь beautiful soup на третьем питоне пашет. В чем проблема?
Аноним 08/09/16 Чтв 15:49:49 #483 №838124 
>>838115
>хотел обойтись без lxml
Нахуя? libxml в любом дистре легко ставится, я даже в слаке на память скажу, как эту либу установить. А биндинг под неё есть и на 3 питоне с момента релиза.
Аноним 08/09/16 Чтв 15:50:27 #484 №838126 
>>838120
html.parser вроде требует, что ему дали корректный html. В условиях веба наивно его пользовать.

>>838115
>lxml
Не надо использовать lxml. Он имеет много функционала, которым хакеры тебя похакают. Используй defuzedxml.
Аноним 08/09/16 Чтв 15:58:37 #485 №838134 
>>838126
>Он имеет много функционала, которым хакеры тебя похакают.
Добавлю.
На youtube видео посмотри по этому поводу. Очень распространенная ошибка использовать такой умный инструмент. Причем не только в питоне этим грешат, а еще и в java мире.
Аноним 08/09/16 Чтв 16:28:52 #486 №838174 
>>838115
BeautifulSoup ?
Аноним 08/09/16 Чтв 16:29:09 #487 №838175 
>>838126
>требует, что ему дали корректный html
Именно, или надо фиксить на ходу.

За
>defuzedxml
Спасибо.
Аноним 08/09/16 Чтв 16:30:47 #488 №838178 
>>838174
Уже на xpath всё сделано.
Аноним 08/09/16 Чтв 16:57:57 #489 №838203 
Так, у меня нубский классовопрос

пывтаюсь сделать кнопку в КИВИ , но не просто так, а чтоб можной было к ней обращаться

Как из примера работает

class MainApp(GridLayout):
..def __init__(self, kwargs):
....super(MainApp, self).__init__(
kwargs)
....self.add_widget(Button(text='Hello'))

Я хочу сделать как то так

class MainApp(GridLayout):
..myButton = Button()

..def __init__(self, kwargs):
....myButton.draw()
но так не получается, дроу, это само собой псеводокод. Суть в том, что я не вижу методов прорисовать эту ебаную кнопку если она объявлена как поле класса

еслип писать
self.add_widget(self.myButton)

оно истерит что нельзя присваивтаь виджет самому себе

Аноны, что делать?
Аноним 08/09/16 Чтв 17:00:54 #490 №838206 
14733432546850.png
Помогите плз!
Аноним 08/09/16 Чтв 17:02:25 #491 №838207 
>>838206
Ебучий виндовз не умеет в utf-8 в командной строке.
Конвертируй вывод в win-1251
Аноним 08/09/16 Чтв 17:02:38 #492 №838209 
Аноны, такой вопрос.
Я хочу сделать логгер, который будет использоваться таким образом:
Перед функцией ставится декоратор
@logger(name="qwer", severity=2, color="yellow", out="qwer.log")
def f(x, y, z...):
body

Далее уже в самой функции, когда я хочу отправить сообщение в лог:
dprint("message")

Вопрос тут в том, как из dprint узнать, какой в данный момент logger я должен использовать (имя, файл, цвет etc).
Склоняюсь к варианту, что использовать интроспекцию и смотреть стек.
Аноним 08/09/16 Чтв 17:04:20 #493 №838210 
>>838207
thx
Аноним 08/09/16 Чтв 17:04:46 #494 №838211 
14733434867290.png
>>838209
Явно объявить эти параметры атрибутами класса или объекта не хочешь?
Аноним 08/09/16 Чтв 17:06:08 #495 №838212 
>>838211
>Явно объявить эти параметры атрибутами класса или объекта не хочешь?
Конечно нет!
Аноним 08/09/16 Чтв 17:06:57 #496 №838213 
>>838212
Тогда осваивай брейнфак.
Аноним 08/09/16 Чтв 17:07:22 #497 №838214 
>>838175
>Именно, или надо фиксить на ходу.
Как это делается? Есть рабочий пример?

Аноним 08/09/16 Чтв 17:10:13 #498 №838217 
>>838213
>
>Тогда осваивай брейнфак.
Я видел, что что-то такое есть в фласке, но не копал, как это сделано. Если тут не помогут, то, конечно, посмотрю через некоторое время, но хотелось бы получить быстрый ответ.
Аноним 08/09/16 Чтв 17:26:30 #499 №838224 
>>838217
Explicit is better then implicit
Simple is better then complex
Аноним 08/09/16 Чтв 17:31:01 #500 №838227 
>>838209
>какой в данный момент logger
А может иметь один логгер и изменять его параметры? Просто декораторы они как бы не так работают же.
тотальный говнокод - http://ideone.com/LSZQkE
В декораторе должен быть не выбор логгера, а просто смена параметров одного единственного, тем более, что имея столько параметров, нужно клепать несколько десятков их.
Аноним 08/09/16 Чтв 17:40:18 #501 №838235 
>>838227
>А может иметь один логгер и изменять его параметры?
Не, не годится. Вообще, ты должен бы понять, что это паттерн.

>В декораторе должен быть не выбор логгера, а просто смена параметров одного единственного, тем более, что имея столько параметров, нужно клепать несколько десятков их.
Я допускаю, что в начале проги создаются несколько логгеров, а далее в декораторе можно указать логгер в качестве параметра. Далее dprint будет писать в него.
Задача все таже.
Аноним 08/09/16 Чтв 17:42:58 #502 №838237 
>>838235
Ну тогда вот примерно мой код и используй, навреное, если никто его не обоссыт.

>Вообще, ты должен бы понять, что это паттерн.
?
Аноним 08/09/16 Чтв 17:45:15 #503 №838239 
>>838237
>Ну тогда вот примерно мой код и используй, навреное, если никто его не обоссыт.
Интересная фишка с глобалом. Насколько я понимаю, global просто указывает, что надо искать переменную выше по стеку?
Аноним 08/09/16 Чтв 18:23:06 #504 №838268 
>>838239
>global просто указывает, что надо искать переменную выше по стеку?
Нет, искать он и так будет доходя до глобала, при использовании (как словарь loggers), указание на global нужно, чтобы он не создавал локальную dprint на 14-ой строке. Если убрать global, он увидит в коде функции dprint = ... и станет ругаться на то, что "local variable 'dprint' referenced before assigned", на строке 13 (prev_dprint = dprint).

Просто тут тебе либо функцию dprint писать так, чтобы она перед логгированием сообщения проверяла какую-то переменную, которую твой декоратор изменяет, либо просто переопределять сам идентификатор 'dprint' как у меня сделано. Других вариантов лично я не вижу/не знаю.
Аноним 08/09/16 Чтв 18:25:54 #505 №838271 
>>838268
А если в стеке будет несколько global-переменных идущих следом, то как это будет работать? Спрашиваю вообще, а не в случае с логгером.
И спасибо за примемчик.
Аноним 08/09/16 Чтв 18:30:23 #506 №838276 
Как поменять цвет у ГридЛейаут в Киви?
Аноним 08/09/16 Чтв 18:46:57 #507 №838287 
>>838126
>Не надо использовать lxml. Он имеет много функционала, которым хакеры тебя похакают
Скинь видос, не гуглится.
Аноним 08/09/16 Чтв 18:52:58 #508 №838290 
>>838287
>Скинь видос, не гуглится.
К сожалению не записал адрес. Видос у меня есть, но он на другом винте.
Помню, что это было видео с какой-то конференции по питону. Еще помню, что автор там из Новой Зеландии.
Аноним 08/09/16 Чтв 18:59:03 #509 №838291 
>>838271
>А если в стеке будет несколько global-переменных идущих следом,
В смысле несколько? Не может быть несколько глобальных с одним именем же. Он остановится на первой найденной — http://ideone.com/Psb2zT

Или ты имеешь в виду просто код "global a, b, c, d"?
Аноним 08/09/16 Чтв 19:00:48 #510 №838292 
>>838291
>Он остановится на первой найденной
Ок.
>Или ты имеешь в виду просто код "global a, b, c, d"?
Нет.

---
Перекат делать будем?
Аноним 08/09/16 Чтв 19:02:11 #511 №838296 
>>838291
>Он остановится на первой найденной
Посмотрю потом видео про python internals.
Аноним 08/09/16 Чтв 19:06:29 #512 №838297 
>>838292
Важно ещё, что на первой найденной относительно места объявления функции, а не вызова — http://ideone.com/GhJnOi
Аноним 08/09/16 Чтв 19:08:19 #513 №838298 
>>838297
>Важно ещё, что на первой найденной относительно места объявления функции, а не вызова
Век живи - век учись.
Аноним 08/09/16 Чтв 21:41:02 #514 №838447 
14733600621650.jpg
Анон, пробую проходить задачки. Попалась такая:
http://www.pythonchallenge.com/pc/def/equality.html

У меня получился такой код:
http://pastebin.com/yGJA4PnY

Находит то что нужно, но что-то на ответ это не похоже.
Пробовал и с условием, что первые три - одинаковые, тоже не подходит
Да, там 7 and в одном условии, но я не знаю как это сделать элегантней
Есть варианты?
Если не трудно:
1) как можно такое условие короче сделать? Т.е. сразу сравнить три первых элемента. x[1,2,3].isupper() - не подходит, этож новый лист получится
2) в питоне можно один аргумент сразу на 2+ условий проверить, например: if a > 0 and < 3 ?

Аноним 08/09/16 Чтв 21:57:06 #515 №838461 
>>838447
мусорка из символов для покопаться - в коде самой странице если что
Аноним 08/09/16 Чтв 22:16:33 #516 №838486 
>>838447
Не понял задания. Что сделать-то нужно? И что во входном файле? И как ты узнаешь правильный ответ или нет? И что это за хуйня вообще?
Аноним 08/09/16 Чтв 22:24:17 #517 №838496 
>>838486
Вообще - загадки. Можешь начать с главной - там все написано. Суть: на странице есть загадка, чтобы ее отгадать - нужно что-то сделать, применяя навыки программирования (необязательно на питоне). Ответ вставляешь в адресную строку, если правильный - попадаешь на след задание.
В предыдущем задании в исходном коде страницы был кусок текста (мешанина из символов), из которого нужно было сделать осознанный текст, убрав все кроме букв.

Аноним 08/09/16 Чтв 22:34:18 #518 №838508 
>>838447
>1.
all([x.isupper() for x in y])
>x[1,2,3].isupper() - не подходит, этож новый лист получится
x[1,2,3] это вообще что должно быть?
>2
if 0 < a < 3. Внутренне питон это сам раскрывает до if 0 < a and a < 3.

http://ideone.com/5VY3YG Ну, при условии, что такая последовательность там одна.
Аноним 08/09/16 Чтв 22:58:25 #519 №838533 
>>838508
> all([x.isupper() for x in y])
а в [x.isupper() for x in y] жирным что такое?
Задача(насколько я понял): нужно найти прописные буквы, которые окружены тремя СТРОЧНЫМИ
блдж, может там нужно не больше трех? щас попробую
Т.е. я хочу проверить первую буквы и сразу 2 ее соседа на строчность
> x[1,2,3] это вообще что должно быть?
1,2,3 - элементы х
> if 0 < a < 3
неудачный пример выбрал, можно ли проверить a > 0 и a! = 3?

Аноним 08/09/16 Чтв 23:04:06 #520 №838542 
решил начать прогораммировать, подскажите какой лучше редактор использувать
Аноним 08/09/16 Чтв 23:04:49 #521 №838544 
>>838533
> блдж, может там нужно не больше трех?
помогло, но
> if letter.isupper() and file[(idx+1)].isupper() and file[(idx+2)].isupper() and file[(idx+4)].isupper() and file[(idx+5)].isupper() and file[(idx+6)].isupper() and file[(idx+3)].islower() and file[(idx-1)].islower() and file[(idx+7)].islower()
кажется костылем каким-то
Аноним 08/09/16 Чтв 23:24:28 #522 №838558 
>>838533
>а в [x.isupper() for x in y] жирным что такое?
for i in range(10) знаешь что такое? То же самое.
[x for x in range(5)] == [0, 1, 2, 3, 4]

>нужно найти прописные буквы, которые окружены тремя СТРОЧНЫМИ
Да. Там их несколько таких последовательностей, в итоге слово составляется.

>Т.е. я хочу проверить первую буквы и сразу 2 ее соседа на строчность
isupper() применяется к элементу. Как применить его к нескольким элементам сразу я уже показал.

>можно ли проверить a > 0 и a! = 3?
Ээ, if a > 0 and a != 3?

Спойлер решения двумя нечитаемыми однострочниками (list comprehension'ы и regex): https://repl.it/DY97
Аноним 08/09/16 Чтв 23:26:17 #523 №838565 
>>838558
а, не, однострочник только с регэкспом, другой вариант же всё равно требует создагния seq и bitstr. Ну, две строки.
Аноним 08/09/16 Чтв 23:34:22 #524 №838573 
>>838544
>помогло, но
не "не больше", а ровно три же. Потому я у себя и сделал последовательность из 9, а не 7 символов.

>кажется костылем каким-то
Ну, формально от этого никуда не денешься, тебе нужно проверят регистр символов, просто это всё красивше можно сделать.
Аноним 08/09/16 Чтв 23:40:32 #525 №838583 
>>838533
ээ, а ещё, там строчная, окружённая трями прописными! AAAbAAA.
Аноним 09/09/16 Птн 00:01:57 #526 №838626 
>>838573
Спасибо, завтра попробую разобраться что там у тебя я в питоне вообще 3ю неделю, о bitstr, all и тд только сегодня услышал
>>838583
да, я чот заглавные строчными называл
Аноним 09/09/16 Птн 00:18:54 #527 №838640 
>>838626
>о bitstr,
это просто название переменной, ничего не значит.
Аноним 09/09/16 Птн 00:43:38 #528 №838663 
>>837452
http://codereview.stackexchange.com/questions/129754/project-euler-549-divisibility-of-factorials

Код на питоне:
https://ideone.com/4HbUvy
Аноним 09/09/16 Птн 01:20:28 #529 №838685 
Перекат
https://2ch.hk/pr/res/838684.html
https://2ch.hk/pr/res/838684.html
https://2ch.hk/pr/res/838684.html
comments powered by Disqus

Отзывы и предложения