Этого треда уже нет.
Это копия, сохраненная 22 сентября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #832684
Анон, генерация ссылки на восстановления пароля обязательно должна пилиться через Signing? Если она будет храниться в БД, то это не будет считаться дырявым и уязвимым быдлокодом?
>>832686>>832711
#3 #832686
>>832684
* на Django
#4 #832689
как начать писать на фласке? как разобраться в нем? есть к только что начал писать на нем? как начали вообще?
#5 #832691
>>832689
Документация. На хабре есть отличное руководство по нему на русском. Я так вкатывался.
>>832697
#6 #832697
>>832691
Ну там устаревшее к сожалению, изучаю его. Какие успехи у тебя уже, что серьезного написал?
>>832698
#7 #832698
>>832697
А, так. По мелочи. Не тяготею к вебу. Использовал его ток для микро веб сервиса
#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 #9 #832705
>>832700
Работаю в pycharm. Самая удобная ide. Есть поддержка flask и jinja2
>>832710
#10 #832707
>>832700
Забыл добавить - многие вещи поменялись с момента издания этих гайдов. Обычно обратная совместимость есть, но если сервер сыплет "блаблабла deprecated" то пиздуй сразу в доки и смотри как делать по-новому.
#11 #832710
>>832705
Ну не знаю даже. Тащить целый комбайн с индексацией и плагинами, да еще и который в джаве крутится это как-то не по-питоньи.
Мне, как новичку, редактора хватает.
#12 #832711
>>832684
Окей, перефразирую: как лучше всего реализовать на джанго восстановление доступа к аккаунту?
>>834903
#13 #832712
>>832689
Там в репозитории фласка примеры рабочие есть.
Все остальное у тебя вообще от непонимания работы веб-аппликации.
>>832715
#14 #832715
>>832712
Как приобрести >пониманиe работы веб-аппликации.
>>832716
#15 #832716
#16 #832736
>>832700
Какие успехи у тебя уже, что серьезного написал?
>>832758
#17 #832737
>>832700
Какие успехи у тебя уже, что серьезного написал?
>>836359
18 Кб, 531x769
#18 #832745
Ура я сделал, я думал, что опять придется решение в инете смотреть
#19 #832750
>>832745
Я теперь понял, что рекурсивная функцию это просто как обычный цикл. В нём есть выход, есть продолжение. А изменение i - это вызов функции с измененным аргументом
>>832764>>832774
#20 #832758
>>832736
Ничего серъезного. Я надеюсь ты понимаешь что стек веб-аппа немного шире чем бекенд и не грезишь быстрым продакшеном.
>>832785
#21 #832764
>>832750
Что есть если в функции два рекурсивных вызова?

def sort(a):
    middle = len(a) // 2
    left = sort(a[:middle])
    right = sort(a[middle:])
    # ...
    return sorted
>>832777
#22 #832774
>>832750
Рекурсия != цикл в общем случае.
#23 #832777
>>832764
У вас так молоко убежит же, нет никакого условия остановки рекурсии.
>>832779
#24 #832779
>>832777
Упадет на IndexError
>>832802
#25 #832785
>>832758

>Я надеюсь ты понимаешь что стек веб-аппа немного шире чем бекенд и не грезишь быстрым продакшеном.


Вопрос в этом и не стоял.
#26 #832787
так че как с фласком этим разобраться, структура не совсем понятна, много магии.
>>832799>>832811
#27 #832799
>>832787
Короче декоратор роутер оборачивает функцию и выводит возвращаемое значение в браузер

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

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

>>832802
А, слайс не кидает IndexError, это хуёво.
#30 #832934
Двощ, ведь для того чтобы тебя приняли на работу каким-нибудь помощником, недостаточно знать чистый питон, там же нужны всякие библиотеки. Так вот, когда нужно начинать учить вот это вот всё ?
И вообще вопрос, что нужно знать студенты, чтобы подрабатывать в сфере it ?
>>832968>>833007
#31 #832968
>>832934

>что нужно знать студенты, чтобы подрабатывать в сфере it ?


Уметь обращаться с пылесосом и половой тряпкой.
>>832986>>833113
#32 #832986
>>832968
быть опытным оператором эвм
>>834943
#33 #833007
>>832934
как включить комплюхтор
>>833113
#34 #833113
>>832968
>>833007

>тематика

>>833120
#35 #833120
>>833113

>1 сентября


>все школьники сегодня агрессивные

#36 #833130
Аноны, я сейчас делаю сайт. Как доделаю его, хочу вам показать, чтобы вы оценили, и указали на быдлокод, который целесообразно подкрутить. Поможешь мне, анончик? А то я прям стесняюсь так. Первый раз свой код показывать. Это как первый секс которого у меня никогда не было
#37 #833132
>>833130
Да никто не будет читать тут твой код, если его больше 10 строчек.
>>833419
#38 #833153
>>833130
Какой фремворк, какие задачи твой сайт выполняет, ну и т.д.

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

Мимопроходил
#42 #833271
>>833210
Выложу ближе к среде.

осваивал по документации.
42 Кб, 1280x720
#43 #833272
>>833210
Выпил волшебную таблетку и сразу все понял, так все в жизни и бывает.
#44 #833275
ехал джанго через джанго
видит джанго - джанго джанго
сунул джанго джанго в джанго
джанго джанго джанго джанго
>>833278
#45 #833278
>>833275
ехал джанго через боттл
видит джанго в речке фласк
сунул джанго фласку в боттл
flask nginx alchemy flask
>>833279>>835000
#46 #833279
>>833278
В треде профессионал! А я просто жалкий петросян без работы. Сразу почувствовал себя петухом. Спасибо за ушат холодной воды!
>>833280
#47 #833280
>>833279
Профессиональный петросян?
#48 #833388
Посоны, я нормальный если пилю личный веб-проект на aiohttp и один небольшой уже запилил? Ваннаби программист как полгода.
>>833422
#49 #833419
>>833130
Залей на гитхаб - сделаю код ревью.
>>833132
За всех не говори.
#50 #833422
>>833388
Только если тебе действительно нужна асинхронность.
>>833490
181 Кб, 960x960
#51 #833443
Сап. На связи начинающий питонятор. Есть следующая задача: необходимо выдрать кусок html кода с довольно большого количества страниц жж, немного отредактировать его с помощью регулярных выражений и отправить через форму на другом сайте. Подскажите, какие библиотеки смогут осуществить подобное? Каких мануалов навернуть? Надеюсь на доброту анона, с меня как обычно нихуя
#52 #833445
>>833443

>Каких мануалов навернуть?


По умению пользоваться гуглом
#53 #833447
>>833443
BeautifulSoup - для выдирания куска html.
requests - для выполнения всяких http запросов
#54 #833469
>>832745
может проще:
if string == string[::-1]:
return True
>>833510>>833513
#55 #833490
>>833422
Ну в первом да, нужна, а во второй уже базу из первого потащил.
#56 #833502
Анон, что делает метод super? Объясни дауну, я чет вообще не вкурю.
>>833519
#57 #833510
>>833469
Перезвоним.
>>836445
51 Кб, 460x527
#58 #833513
>>833469
Там нельзя делать шаг, отличный от 1.
Ребята, я вот щас продолжаю эти рекурсивные функции решать. На чекио заниматься нельзя, но теперь их задания кажутся мне сложными. Я остановился на какой-то ледяной станции, 2 задание, сложность - элементари. Там дан набор команд (PUSH x, POP, KEEP) и нужно их сделать в общем. Я до поломки чекио пытался сделать, но не получалось. В школе программиста задания тоже сложные. Зайчика я так и не сделал, а следующее за ним вообще страшное какое-то.
Я слышал, что на питоне плохо оптимизированы рекурсии, так что мне тогда изучать ? Куда идти ?
>>833520>>833528
#59 #833519
>>833502
man OOP
#60 #833520
>>833513

>Куда идти ?


lisp, haskell, f#
#61 #833528
>>833513
Покажи задачу, а?
>>833558
зделойте позязя #62 #833530
instagram-dl.py <username>

загрузить все фотки в оригинальном разрешении
загрузить все видео в оригинальном разрешении
загружам в папку <username>
загружаем по порядку, сначала новые, потом старые
если находим в папке уже загруженный файл то остановка дальнейших загрузок и выход
>>833543>>833546
#63 #833531
Что вы учите кроме питона и его фреймворков?
Накой ноут взять для кодинга. FullHD, 8 оперативы и хватит?
>>833548>>833549
#64 #833543
>>833530
Плоти
>>833666
#65 #833546
>>833530
За 1к сделаю
>>833666
#66 #833548
>>833531
Меньше 16Гб для питона даже не пытайся брать. Рекомендую просто брать самый дорогой который найдёшь Макбук + Apple Cinema Display.
>>833553>>833557
#67 #833549
>>833531
Скоро новый макбук про анонсируют. Его бери.
>>833553>>833557
#68 #833553
#69 #833557
>>833548
>>833549
А можно не тролеть? Я просто не в курсе какая нужна мощность для того, чтобы юзать все инструменты одновременно
159 Кб, 1073x502
#70 #833558
>>833528
Какую ? Следующая за зайчиком - пикрелейтед. Я её даже не пробовал решать из-за лени.
Так что мне делать дальше ? С питоном я познакомился, как углубиться ?
#71 #833562
>>833558
Это еще проще зайчика.
>>833568
#72 #833568
>>833562
Только решение пока не пости.

>Так что мне делать дальше ? С питоном я познакомился, как углубиться ?

#73 #833572
>>833568
Борду на питоне запили
>>833586
#74 #833581
>>833568
Тут ничего такого питоно-специфичного нет.
Математику нужно знать, в идеале аналитическую геометрию (векторы, скалярное произведение), но можно обойтись и линейными уравнениями.
#75 #833586
>>833572
Двачую. Доставте ему ту пасту
#76 #833629
>>833558
Если хочешь, могу дать тебе на допилку проект, который делал ради изучения питона :3
За одно буду ревьювить твой код.
>>833638>>835849
#77 #833631
>>833558
Реши задачу про дачников, но распараллель.
Вот и углубишься.
>>833638
#78 #833632
>>833568
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь[1] при одном упоминании твоей зарплаты.
>>833638>>834057
#79 #833638
>>833631

> распараллель.


Что это ?
>>833629
А как это вообще будет выглядеть ?
>>833632
Вот это интересно, спасибо
>>833648>>835796
#80 #833648
>>833638

>Что это ?


Берешь список дачников / участков, делишь на несколько частей, все части обрабатываешь параллельно (например, через multiprocessing)
#81 #833654
>>833639
Заебал со своей конфой.
#82 #833666
>>833546
За 1к я сам сделаю.
>>833543
Расскажи хотя бы как делать.
>>833678
#83 #833673
>>833669

>тут отвечай, коли есть что сказать

#84 #833678
>>833666
Ну и пиздуй сам делать тогда.
>>833683
#85 #833680
>>833669
Сладкий батхæрт спамера-неудачника
#86 #833683
>>833678
Как?
>>833684
#87 #833684
>>833683
Мне похуй.
>>833686
#88 #833686
>>833684
Ясно. А для чего это тренд?
>>833687
#89 #833687
>>833686
Научить ньюфагов думать головой, а не копипастой.
>>833695
#90 #833689
Помогите нуфагу, как сделать ебаную замену символов?
аля
text = 'ololo'
@
замена букв
text2= новому тексту
@
print(text2)
>>833691>>833692
#91 #833691
>>833689
man replace
#92 #833692
>>833689
text.replace('o', 'a')
>>833698
#93 #833695
>>833687
Вот я нуфаг и хочу написать прогу для загрузки фоток с инстаграма. Что мне делоть?
>>833704>>833721
#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''}))
>>833705
#95 #833704
>>833695
Scrapy
#96 #833705
>>833698
Это если ты хочешь по таблице заменять символы.
Вместо replace('o', 'a').replace('b', 'c'), можно создавать таблицу замены:
{'o': 'a', 'b': 'c'}
>>833709
#97 #833709
>>833705
В виде кoда мoжешь пoказать? А тo глупo выглядит хуйня урoвня:
text = "13"
text2 = text.replace('1', '2')
text3 = text2.replace('3', '4')
print(text3)
>>833712>>833728
#99 #833721
>>833695
Погугли инстаграм АПИ. И вообще начни с гуглежа python instagram, вероятно уже сто тысяч мильонов либ написано.

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

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

Сделан из реального скрипта, работающего с реддитом и имгуром.
>>833836
#100 #833726
>>833712
благoдарю
text = "ololo"
replaceDict = {'o':'h','l':'a'}
for key, replacement in replaceDict.items():
__text = text.replace( key, replacement )
__print(text)
#101 #833728
>>833709
На самом деле хуйня не так уж и глупо выглядит. Она супер легко читаема. Flat is better than nested.
>>833737
#102 #833734
>>832681 (OP)
Как написать свою имиджборду? Взять какой-нибудь фреймворк (торнадо, допустим) и дальше видно будет?
>>836831
#103 #833737
>>833728
Вoт тебе FizzBuzz супер легко читаемый https://github.com/Autism-Corporation/FizzBuzz/blob/master/FizzBuzz
>>833742
88 Кб, 1366x768
#105 #833775
х ведь никогда не станет меньше или равен нулю?
>>833778
#106 #833777
Антoны если книжка A Byte of Python на великoм и мoгучем в фoрмате fb2 для книженции, гугл выдаёт тoлькo pdf, даже на сайте из шапки егo нет
#107 #833778
>>833775
Там целочисленное деление, когда-нибудь станет равен 0, да и при не целочисленном стал бы.
>>833791
22 Кб, 614x189
16 Кб, 743x511
27 Кб, 936x507
urllib #108 #833780
двач, дай совет, где копать.
Я просто в недоумении и не знаю что делать.

Суть в том, что не логиниться и все. HALP!!!!
#109 #833782
>>833780

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



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

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

Почему не логинится, кто его знает. Может там токен в форме где-нибудь, который ты не указал.
Может логин/пароль неверные.
Посмотри в хроме, какие данные форма отправляет на сервер.
>>833805>>833839
450 Кб, 1277x1227
#111 #833791
>>833778
точно, смотрел только на питон
>>833794
#112 #833794
>>833791
Во втором питоне / это целочисленное деление для int'ов.
#113 #833805
>>833788

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

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

Приму к сведению, спасибо. :)
#119 #833856
>>833806
С чем ты там ебался я не пойму?
На большинстве дебиан based систем (в тч убунты) ты просто пишешь в консольке python3 если хочешь третий питон и python если второй.
Так же и скрипты (python3 script.py).
Та же херня с pip, если для третьего питона то pip3 install something
>>833914
33 Кб, 600x348
#120 #833863
>>833806
Поехавший, умвр
2 команды и готово
#121 #833889
>>833780
REQUESTS
E
Q
E
S
T
S
>>833891
#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
>>833892>>833896
#123 #833892
>>833891
Слабо в 3D?
>>833909>>834014
#124 #833896
>>833891
Дай питоний код.
>>833909
#125 #833902
Двощ, а вот что нужно, чтобы сделать простенькое приложение - тест ПДД ? То есть чтобы немного дизайн был и собственно само прохождение теста. Какой уровень знаний там нужен ? И что нужно знать ?
>>833924
#127 #833914
>>833856
В том-то и дело, что у меня ПОСТОЯННО СУКА возникают какие-то мелкие проблемы, которые даже с гуглением нельзя решить. А потом выясняется, что у них элементарное решение и я не понятно на что потратил 3 часа. СУУУУККА КАК ЗАЕБАЛО НУ ЁБ ТВОЮ МАТЬ
>>833915>>833917
#128 #833915
>>833914
Это нормально. У всех так же, разве что с опытом мелкие проблемы становятся более сложными, но процесс всегда остается тем же.
#129 #833917
>>833914
Питон это не для тебя, учи лучше сишечку.
#130 #833924
>>833902
Если веб - то как минимум простой веб-фреймворк, хтмл. Но это будет совсем страшно. Для нормального в 2к16 вида придется изучить какую-нибудь простую клиентскую js-библиотеку и фреймворк типа семантека или бутстрапа.
Если десктоп - то питониевую обертку гуев (tkinter, gtk, qt).
#131 #833929
>>833909
https://gist.github.com/anonymous/8ee15a838a1d343685d5d3fe70db0b
Комментов бы туда. Регэкспы я вообще только в онлайн-билдерах читать умею.
>>833955
#132 #833940
На повестке дня:
1. Кодировки-кодировочки. Ебёмся третий день.
2. Устанавливаем 64битный пичарм на 16битную шиндовс.
3. Какой антивирус мне поставить на питон?
4. Что такое PATH. Откровения бывалых.
5. pip распидорасил всё после апдейта, переустанавливаем всем селом.
6. Хакирские секреты чорной магии: как компилять экстеншены. Ставим cygwin под mingw под winapi под msvc под виртуалкой на убунте.
7. Супир алгаритмы: пишем пагинацию на MySQL
>>833948>>834079
#133 #833948
>>833940
Я пытался рассмеяться, но у меня не получилось.
#135 #833959
>>833955
От души, братан!
Не уверен, но мне кажется что ты один и тот же чел, который в каждом треде подсказывает ребзе как и что делать не обкладывая хуями.
>>833971
#136 #833971
>>833959
Не в каждом, но да, в нескольких.

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

Смотрите, как я круто нашел предел последовательности.
>>834011
#143 #834011
>>833988
В целях самообучения сойдет, чтобы понять как работает map и reduce, но через сумму и list comprehension читабельнее получится.
>>834017
#145 #834017
>>834011
Ну да, недавно только въехал в эти функциональные штуки.
14 Кб, 481x433
#146 #834019
>>834014

> Ебать.


Что не так?

> А то.


Он наверное хотел куб в текстовом виде.
#147 #834021
>>834014
Какая либа умеет рисовать такую изометрию?
>>834024
#148 #834024
>>834025
#149 #834025
>>834024
А, сам рейтрейс происходит в гудини чтоле? Так не интересно.
>>834029
#150 #834029
>>834025
Ты хотел порейтресить в CPython?
>>834150
#151 #834057
>>833632

> Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библио


Копипаста блять !!!!!!!!!!
Но я всё равно начал читать вглубь питона. Когда прочитаю - смогу решать задачки ?
>>834058>>834073
#152 #834058
>>834057
Нет.
#153 #834073
>>834057
Те, что тут постят? Нет. Для этого тебе нужно читать книги по алгоритмам.
#154 #834079
>>833940
Проиграли всем загоном.
#155 #834150
>>834029
Почему нет, если есть труба в CUDA?
>>834163
#156 #834163
>>834150
Удачи.
#157 #834190
Аноны, что у Лутца чиать: "Learning Python" или "Programming Python"?
>>834196
#158 #834196
>>834190
"Learning Python" -> "Programming Python"
>>834200
#159 #834200
>>834196
Спасибо
4 Кб, 338x161
#160 #834327
Сделал вот простенькую задачку на поиск НОК. Ребята, когда я делаю такие задачи, я не ощущаю челенджа, но я не могу делать более сложные задания. Что делать ? Куда я свернул не туда ? Уже совсем скоро ебаная олимпиада, а я не готов !
Алсо, я решил эту задачу с помощью динамического программирования ?
>>834332>>834334
#161 #834332
>>834327
Ах да, жду советов по улучшению кода
#162 #834334
>>834327

> int(n / k) == n / k


Может быть n % k == 0?
>>834341
#163 #834341
>>834334
О, да, так лучше
#164 #834361
Есть задача написать чекер сайтов по списку на питоне, на входе - файл с 1кк доменов, нужно пройтись по каждому (в идеале - асинхронно и в несколько потоков) и проверить вхождение определенного текста в исходном коде страницы. Если текст присутствует - записать эти домены в отдельный файл на выходе.
Анон, что посоветуешь? Возможно либы какие, статьи почитать там? Сам на питон перекатился неделю как, просто многопоточный вариант сего говна наговнокодил, но скорость не радует и где-то память течет :(
>>834375>>834376
#165 #834375
>>834361
grequests
#166 #834376
>>834361
aiohttp попробуй.
>>834390
#167 #834384
Pillow.
Есть ли возможность писать текст на изображении в поле определенного размера и положения с автоадаптацией размера шрифта под это поле? Костыли или другие модули приветствуются.
>>834667
#168 #834390
>>834376
пробовал, нихуя не понял, наваял какой-то ужас (с трудом понимаю даже что некоторые куски кода делают) -http://pastebin.com/hfKGyu7k
>>834511
#169 #834394
Хочу начать изучать python. Я ничего не знаю о нем, с чего мне начать?
>>834403
#170 #834403
>>834394
Наверное с прочтения шапки.
Вышла новейшая книга пикрелейтед, можешь попробовать ее вместо неподъемного Лутца и иже с ним.
>>834404
348 Кб, 745x825
#171 #834404
#172 #834499
Питоны, доставьте плиз пикчу, где питонный код и идентификаторы все на китайском?
#173 #834511
>>834390
https://gist.github.com/anonymous/efcd3a5f871e7f78431d326d97f8e9dd

Отпишись по поводу производительности, мне лень самому замерять.
>>834607>>834613
#174 #834531
>>832681 (OP)
Питон - петушиный язык, питонопетух - не человек!
>>834540>>834551
#175 #834540
>>834531
Будто плохое.
#176 #834551
>>834531
Питон - лучший язык, питонохейтер - не человек!
>>834580>>834585
#177 #834566
Што делать ? Как готовиться к олимпиаде ?
#178 #834580
>>834551
Двачую.
#179 #834585
>>834551
Будто хорошее.
#180 #834607
>>834511
спасибо, поставил 50к строк на тест. Несколько вопросов:
Почему он пишет результаты в файл каждые ~420 строк?
Как-то можно выставить таймаут на соединения (во входном списке присутствуют мертвые домены, по идее это должно увеличить скорость).
Влияет ли на скорость кол-во воркеров?
>>834738
#181 #834613
>>834511
И можно ли как-то запустить данный код еще и в несколько потоков? В один поток скорость асинхронного решения меньше, чем синхронного в 100 потоков :(
Примерно 400 строк в минуту против 1000 строк в минуту на 100 потоках
45 Кб, 1098x293
#182 #834661
Блять пиздец, я уже примерно придумал, как можно решить. Нужно типа посчитать количество способов получить n разными слагаемыми, при том, что каждое левое число должно быть меньше правого, но блять как это в змеиный язык перевести ?
#183 #834667
>>834384
Ну не игнорируйте, пожалуйста.
>>834724
#184 #834675
В общем есть один flask-wtf. И есть сверстанный макет.
Возможно ли как-то пробросить уже вшитые формы макета в валидатор, а не вставлять формы методами wtf? Или может есть какая-нибудь другая библиотека, которая умеет валидировать типичные инпуты типа дат, е-мэйлов и резать длину?
#185 #834700
>>834661
Опиши пошагово как будешь делать, тогда и на змеиный будет просто перевести.
>>834732
#186 #834724
>>834667
какие нахуй пиллоу? мы тут лесенки ебашим.
#187 #834732
>>834700
Не получается.
Может поискать полегче задачки на эту же тему ? Как мне стать умнее черт возьми ?
>>834739
#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 потоков :(


Не знаю.
Дай мне свой список ссылок.
>>834864>>834873
#189 #834739
>>834732
Что-то непонятное задание. Имеется в виду сколько ступенек будет у лесенки из n кубиков? Или сколько всего таких лесенок можно сделать?
А какие там примеры?
>>834741
50 Кб, 1103x373
#190 #834741
>>834739

> Или сколько всего таких лесенок можно сделать?


Это
6 - кол-во кубов.
6+0
5+1
4+2
3+2+1
#191 #834751
>>834661

А теперь давай перефразируем эту хуйню как: Дано число А. Нужно найти все множества, элементы которого будучу проссумироваными дадут нам число А. Из множества множеств небходимо исключить такие множества где элементы повторяются. Изи-пизи 5-10 строк кода на рубях, кек.
>>834755>>834767
#192 #834755
>>834751

> Из множества множеств небходимо исключить такие множества где элементы повторяются.


И где более дальние элементы больше чем ближние типа.
Ну и как это сделать ?
>>834771
#193 #834767
>>834751

>Изи-пизи 5-10 строк кода на рубях, кек.


Продемонстрируй.
>>834791
#194 #834771
>>834755

вот-жеж пидоры, сейчас накидаю код.
#195 #834791
>>834767

что-то типо такого: http://ideone.com/sWhG4b
>>834828>>834842
#196 #834828
>>834791
А ты и вправду рубист. Ты пробовал запускать с числом побольше?
#197 #834842
>>834791

ожидаемо, нихуя не будет работать. вообще ограничение на 16 мебе памяти намекает, что правильным решением будет маршализировать результаты функции и с йоба-фейсом сдать решение комиссии, а чё тз-то выполнено, все работает. Ладно шучу. хуй знает как оптимизировать, можно даже подумать, но навскидку, я бы подумал над оптимизированным алгоритмом генерации слагаемых..
>>834881
118 Кб, 1362x765
#198 #834861
Питонисты, необходима ваша помощь. Рискну предположить что не я первый с этим обращаюсь. Но что за хрень происходит на данной пикче.
1)Импортировал файл верхнего уровня. Программа запустилась.
2)Импортировал функцию reload
3)Использовал reload для prog и ничего не запустилось.
4)Попытался reload модуля script1 для prog. Ничего не запустилось. Потому-что не импортировал сначала script1
5)Импортировал script1
6)Применил reload для script1 и все прекрасно заработало именно для этого модуля. Какого черта не запускает тогда файл верхнего уровня?
#200 #834873
>>834738
Добавляю таймаут по гайду - начинают сыпаться ерроры(
#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 , ну или меньше, смотря как писать.

Ну может там какие тонкости неясно написал, но это походу дела уточняется. Это будет полное решение этого нинужного говна. Простая задачка, разминка для ума перед сессией формошлепства.
#202 #834883
Пиздец, вот так лестница блять
#203 #834903
>>832711
Генерируешь пару uid, token. Высылаешь пользователю на мыло, принимаешь пару uid и токен и новый пароль. https://github.com/sunscrapers/djoser/tree/master/djoser - посмотри как это организовано здесь, правда тут для рест апи
#204 #834918
Есть кто дома?
>>834919
#205 #834919
>>834918
Что ты хотел?
>>834924
#206 #834921
От жеж редиска Лутц. В топике пишет про функцию reload, но не пишет что функция не транзитивна. Я ебусь с запуском файла верхнего уровня и спустя 20 страниц натыкаюсь на эту в общем то важную особенность.
#207 #834924
>>834919
Код странно себя ведет, нихуя не могу понять почему. Ща запощу.
#208 #834926
Есть 2 вроде как идентичных куска кода http://pastebin.com/AgXLTndW
Результат они выдают одинаковый. Кроме вида цикла ничего не меняется. Весь прикол в том, что вариант с for ... range выполняется в 10-20 раз медленнее, чем с while.
>>834927>>834929
#209 #834927
>>834926
Ах да, используется py3, так что range не генерирует список.
>>834929
#210 #834929
>>834926
>>834927
А, всё, нашёл ошибку.
51 Кб, 423x142
#211 #834930
>>834661
Должно существовать не рекурсивное решение, что-нибудь с помощью матриц.

Еще куча задач на эту тему:
https://www.hackerrank.com/domains/algorithms/dynamic-programming
>>834934
#212 #834934
>>834945
#213 #834943
>>832986

Зело лихо управляться с перфокартами.
12 Кб, 200x204
#214 #834945
>>834934
Ну и видок у этого.
>>834946
#217 #834951
>>834949
Не всосу, алгоритм тот же? Если так то руби дико сасет.
>>834952>>835354
#218 #834952
>>834951
В версии на питоне numpy используется, который заточен под всякие вычисления с матрицами.
#219 #834978
Кстати, анончики - кто на яблоках использует приложение pythonista от сумрачного немецкого гения? А то можно вместе напилить полезных мобильных инструментов во славу анона.
#220 #834982
>>833806
Ты очень эмоционально ко всей этой хуйне относишься. Нервы побереги.
#221 #834989
>>834864
За полчаса у меня проходит весь файл:
http://ideone.com/VpnfQE

17.5к ошибок, 3.2к вордпресс, я не знаю, то ли там у тебя так много ссылок битых, то ли таймауты маленькие стоят.
#222 #835000
>>833278
Ехал filter через filter.
Видит filter в map-е filter.
Сунул filter lambd-у в filter.
Filter filter filter filter.
>>835010
#223 #835002
>>833443
Lxml + xpath
>>835003
#224 #835003
>>835002
Ну и очевидный requests
#225 #835010
>>835000

>filter


Шта?
#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 секунды???

Есть ли смысл смотреть в сторону компиляции змеи?
#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 секунды???

Есть ли смысл смотреть в сторону компиляции змеи?
#227 #835145
>>835136

>Что делать, если Питон заебал своей медлительностью?


Пиши на ассемблере.
7 Кб, 439x200
#228 #835147
>>835136

>интерпретатор Питона тратит на это больше 19 секунд


Начнём с того, что time.time время не в секундах показывает, а хуй пойми как.
А продолжим пикрилом. У тебя пень 3 что ли, что 19 секунд выполняется?
>>835191>>835203
#229 #835149
>>835136
Можешь на хуй пойти - это как вариант
#230 #835158
>>835136

>написано через while i< а не через for i in range >чтобы было всё, сука, честно и одинаково


Для таких ебланов как ты были придуманы генераторы
>>835196
#231 #835191
>>835147
Если переписать через функцию,то займет 14.5 секунд, что через time, что через timeit.

При этом Си в 100 раз быстрее.
>>835197
#232 #835196
>>835158
Давай, быдло, напиши мне через генератор это, чтобы хотя бы за секунду выполнялось.
#233 #835197
>>835191
Что переписать то? На пике, по-твоему, не функция?
>>835212
#234 #835203
>>835147
Ты проебал, у тебя 108 повторений вместо 108
>>835205>>835206
#235 #835205
>>835203
А, точно, ща исправлю, проверю.
#236 #835206
>>835203
Я другой анон. Ты долбоеб, во всем мире тебя бы поняли напиши ты 108
>>835208
#237 #835208
>>835206
Бля ебаная макака
#238 #835212
>>835197
Я, говорю, переписал, через функцию и сравнил time и timeit. Результат одинаковый +-14.5 секунд.

Кстати, тебе там уже написали, что у тебя 108 итераций с 100000 повторениям в timeit вместо одного на 100000000.
90 Кб, 388x340
#239 #835257
>>835136

> (написано через while i< а не через for i in range чтобы было всё, сука, честно и одинаково).


У тебя какое-то странное понимание честности и одинаковости.
>>835312>>835318
#240 #835312
>>835257
Что-то у вас с ним дохуя большая разница получается, 14.5 против 0.232 с.
#241 #835318
>>835257
Как ты подсветку запилил?
#242 #835354
>>834951

оптимизация алгоритма годная да, а вот то что петон жрет четверть гигабайта в пике это показывает как заточены вычисления матриц, кекус. (спойлер: через жопу)
>>835357
#243 #835357
>>835354

> четверть гигабайта


Ты порядком ошибся.
70 Кб, 789x369
#244 #835364
Пиздец. Понятней же будет наоборот.
>>835670
#245 #835377
>>832681 (OP)
Вечер в хату, боги кодинга! Взломайте бота, аноны: http://travibot.com/ru/
>>835670
#246 #835410
Допустим есть функция f(), которая возвращает лист. Как мне запилить подобие [*f(i) for i in args], чтобы сразу получить распакованный линейный лист?
>>835418
#247 #835418
>>835410
А, вспомнил, тупанул чёт.
>>835420
#248 #835420
>>835418
[x for i in args for x in f(i)] ?
>>835433
#249 #835433
>>835420
Ага
#250 #835481
>>835136
в сишке очевидная оптимизация, так как дальше эта а не используется - цикл 10^8 не может работать быстро в принципе.
>>835522
#251 #835522
>>835481
gcc -O3 main.c && time ./a.out
Time = 0.000001

gcc main.c && time ./a.out
Time = 0.234212
#252 #835617
Двач время идет, а я не занимаюсь или не могу заниматься. Что делать, как пофиксить ?
>>835627
84 Кб, 777x884
#253 #835624
Аноны, довольно хорошо знаю Django и сына его REST Framework, а также святого Docker, хотя ни разу еще не выкатывался в продакшен. Поэтому, у меня просьба, подкиньте идею, с которой я смогу познать тонкости и тяготы деплоя, поддержки и развития проекта. А если этот проект будет сам по себе полезен и интересен, то вообще охуенно.

P.S. Если ты зеленый самоучка, то в ответ помогу с Django и Elasticsearch(хотя откуда тебе знать такие слова)
#254 #835627
>>835617
Не занимаешься чем?
>>835668
128 Кб, 720x1280
154 Кб, 720x1280
108 Кб, 720x1280
151 Кб, 720x1280
#255 #835636
>>835624
Держи немного всякой бредовой фигни что мне в голову приходит иногда
>>835640>>835650
#257 #835640
>>835636
1. У меня нет друзей, не нужно.
2. Не понял, в чем фишка. Удобный сайт для подписки на спам? Но зачем?
3. И что делать с этими достопримечательностями потом?
4. Это неплохо, но я хотел себе на планшет оффлайн базу данных лекарств.
>>835647
#258 #835641
>>835639
1. Не нужно.
2. Вот это нужно, я о чем-то таком задумывался.
3. youtube-dl может такое
4. хех
>>835647
#259 #835647
>>835640
2. Потому что за пределами it подписки это почти единственный способ актуально узнавать новости типа хоть какие есть конференции и тд
Куча народу ими пользуется. Ясен хуй что большая часть сразу метит как прочитанные, но все равно очень даже пользуются.
3. Списком выводить по gps- удаленности от юзера
>>835641
2. Я что странно даже не видел попыток что-то такое делать, одни кошельки с платными блядь категориями и возможностью сфоткать чек
84 Кб, 777x884
#260 #835650
>>835636
>>835639
Неплохо, спасибо. Надо завести такую же привычку. )) Есть пару идей, которые уже прикинул как реализовать. Недавно запилил пре-альфу - сравнение цен в магазинах через парсинг сайтов или прайс-листы. Вообще планирую довести все это до полноценной системы, оценивающей выгодность покупки у того или иного поставщика.
#261 #835651
>>835624
На еще че я хочу:
Генератор профилактик заболеваний

1. Составить таблицу болезней
2. Составить таблицу профилактик с категориями 1) физ упражнения 2) регулярные обследования идти анализы 3) курсы медикаментов для профилактики 4) диеты ........
3. Составить таблицы более подробные по п.2: физ упражнения с картинками поз, альтернативные медикаменты, разница в двух анализах дающих на выходе один результат - короче эдакое many to many relationship по альтернатива
4. Проверка не противоречивости рекомендаций, что бы больному с циррозом от гепатита не предлагать бокал красного вина для снижения давления
5. Галочками выбирать болезни, получать рекомендации вплоть до экспорта анализов в календарь аутлука или регулярных напоминаний / обновлений по интересовавшим болезням
6. Калькулятор что бы предлагать на основании некоторых вводных рекомендованные болячки - ну типа сидячая работа, малоподвижный образ жизни, редкий секс - бойся простатита,
7. интеграция калькулятора в п.4: жирный - значит не бегай, а крути педали что бы колени не убить и тд
>>835661>>835683
84 Кб, 777x884
#262 #835661
>>835651
Я думаю проще запилить энциклопедию
#263 #835668
>>835627
Подготовкой к олимпиаде по программированию 11 класса. Задания для меня слишком сложные или слишком легки, я не знаю что делать
186 Кб, 1200x900
#264 #835670
>>835364
Так придётся всем видам итераблов хуячить по методу, который конвертирует их в стринг.

>>835377
Взломал.

>>835668
Подрочи и не едь.
63 Кб, 528x655
#265 #835671
>>835668
Не заебывайся на сложном, оценил задачу - не видишь решения - приступай к следующей, потом вернешься.

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

Ешь, спи, дрочи поменьше - дрочуны не доводят дела до конца. ))
>>835673>>835677
#266 #835673
>>835671
Спасибо
#267 #835677
>>835668
>>835671

В своё время тоже ехал на них. Если не готовился к ним ещё со средней школы, то и смысла ехать нету. Ради интереса разве. А учитывая, как бинарно выглядят для тебя задачи, и то, что это твой последний шанс (11 класс), то советую тебе лучше целиться на ЕГЭ, а не на подготовку к синтетическим задачам.
#268 #835683
>>835651
АГа, блять. Покрутил я уже как-то раз педали. Пизда коленям моментально
>>835686
100 Кб, 585x873
#269 #835686

>>>835683


Просто ты сорвал джекпот в генетической лотерее
27 Кб, 761x474
#270 #835692
Сап, антуаны. Второй день подрачиваю свою змею, пытаясь добиться хоть чего-то. Решаю каты на CodeWars в данный момент.

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

<script src="http://ideone.com/e.js/2tarxE" type="text/javascript" ></script>
>>835703
#271 #835703
>>835752
#272 #835752
>>835703
Спасибо.
#273 #835796
>>833638
Даю тебе доступ к репозиторию с кодом, даю пару тасков что тебе надо допилить, ты отправляешь коммиты, спрашиваешь вопросы, я тебе поясняю по харду за твой код, как лучше, за PEP8 и все такое.
Проект писался для таких же целей. Профита с него нет.
#274 #835819
Хай бандиты, в полку питоноблядей прибыло.

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

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

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

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

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

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

https://www.python.org/

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

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

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

Ваш SQL-кун
>>835825
#275 #835825
>>835819
Зачем? Реализовать xml-rpc протокол (как сервер так и клиент) можно за 2-3 вечера под пивас. А так мануалов много, даже гуглить за тебя не буду.
>>835831
#276 #835831
>>835825
Чет не хватает теоритической подготовки.

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

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

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

Что такое СУДС вообще не знаю, сорян.
#280 #835861
>>835847
Но вообще да,у меня проблемы с анальной модерацией сети, отчасти. То есть я могу тащемта качать веши с гитхаба, пип инсталл работает

Я не могу себе ПОСТАВИТЬ на тачку сишный компайлер.
#281 #835941
Начал книгу по компиляторам читать, там какие-то термы хуермы, лексика, почему так сложно-то? На питоне быдлокодить как то попроще.
>>835943>>835945
#282 #835943
>>835941
Твои проблемы, надо было профильную вышку заканчивать.
#283 #835945
>>835941

Да кому вообще эти компиляторы нужны, кроме 10 фанатиков?
>>835947
#284 #835947
>>835945
Я к тому, что это научная сфера больше, чем програмисткая
23 Кб, 547x831
170 Кб, 1097x557
89 Кб, 745x312
#285 #836023
Двачик, я уже полтора часа пытаюсь решить эту ебливую задачку. Нашел подсказку (пик 3) и вот по этой подсказке пытаюсь решить, но у меня проблема - змея посылает меня на хуй и не выдает мне число ПЕРВОГО ВХОЖДЕНИЯ подстроки. Что делать ?
Может я всё-таки тупой и мне нахуй не нужно лезть в олимпиаду ? Здесь сложность 31% всего, а я уже полтора часа решаю
#286 #836028
Сап, питонач. Что будет жрать меньше памяти и процессорного времени - flask или aiohttp? Требуется уместить на сервере как можно больше однотипных сайтов, отличающихся по сути только базами данных.
И вдогонку - взлетит ли идея на aiohttp соорудить эдакий диспатчер приложений, чтоб одним процессом обслуживать сразу дохера сайтов - асинхронщина же?
#287 #836036
>>836023
Твоя функция вернула 12? Все верно, разве нет?
>>836038
#288 #836038
>>836036
Должна вернуть 6.
Она верно определяет только второй тест (2 скрин)
#289 #836047
#290 #836054
>>836023
в чём проблема то? Первым шагом строишь уникальные массивы, где границы массива это первое и последнее число равное первому сектору.

Потом в цикле начиная с самого короткого проходишь все это говно по каждому массиву и доказываешь что каждое повторение цикла и есть текущий цикл. Или скипаешь эту хуйню И идешь дальше.
>>836063
55 Кб, 600x600
#291 #836058
#292 #836063
>>836054
>>836047
А сколько вы уже питон изучаете ? Почему так легко делаете ? Как стать таким же ?
#293 #836066
>>836063

>Как стать таким же ?


Долбиться в жопу.
#294 #836068
>>836047
Таки у тебя неправильно пройдет тест с 1111
>>836074
#295 #836074
>>836068
Почему? Там же есть массив с единичками, всё правильно выдаёт.

>>836063
Тут не в питоне же дело, а в мышлении, представлении задачи и продумывании алгоритма. А от языка зависит, скорее, лишь элегантность решения.
>>836080>>836082
#296 #836080
>>836074
Выдает 3, а нужно 1
Как мышление прокачать ?
#297 #836082
>>836074

>лишь элегантность решения.


Как, например, конструкция for/else. Оче редко используется, а тут прям как родная зашла, аж приятно было писать.
#298 #836084
>>836080
Математику попробуй, серьезно, только не всю, дискретку например или просто задачки на логику.
>>836094
#299 #836086
>>836080

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

А это чёрт его знает, от природы/с детства. Любить решать всякие головоломки, ребусы хуебы, задачи на мудрецов в шляпах и т.д. Ну и те же задачи на программирование, наверное, тоже помогают.
#301 #836088
>>836080

> Выдает 3, а нужно 1


А не всё правильно
#302 #836090
>>836086
>>836080
И не слушай этого петуха, вопрос усердия и прокачки соответствующих навыков. Никто не хорош абсолютно во всем.
>>836093
#303 #836093
>>836090
Вопрос субстрата в виде уровня развития соответствующих полей и подполей головного мозга, маня. А это врожденный фактор, который нельзя ни прокачать и ни развить.
>>836095
#304 #836094
>>836084

> дискретку


А туда я смогу вкатиться с уровнем 11 класса ?
Сколько вы питоном занимаетесь ?
>>836096
#305 #836095
>>836093
Ты биолог дохуя? Нет. Если бы Энштейн не пошел бы в школу, а вырос в лесу, стал бы он великим ученым? Нет. Гены обуславливают стартовые условия, которые кстати можно еще и просрать, если ничего не делать.
>>836103
#306 #836096
>>836094

Ну я сейчас слушаю вот это курс https://stepic.org/course/Дискретные-структуры-83/syllabus

, как заявлено автором первые два модуля освоят даже школьники, дальше хз. Я пока первый прохожу, все норм.
#307 #836103
>>836095
Да, дохуя биолог. Эйнштейн пошел в школу - круто, да. Только вот у него был аномальный головной мозг, и, грубо говоря очень простым языком, математические области были нереально большими в ущерб гуманитарным.

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

И да, я не утверждал, что данный сударь тупой, и предел его развития настолько низкий, что ему ничего не светит.
48 Кб, 1098x449
46 Кб, 1280x720
#308 #836109
Сложность факториала - 42%. Какого зхуя ? Я этот факториал изи делаю с динамикой
>>836113
#309 #836113
>>836109

>42


Я думаю, это неслучайно
>>836131
#310 #836128
>>836023
А дай-ка ссылку на эти твои задания.
>>836131
#312 #836134
>>836131
Благодарю.
510 Кб, 1920x1080
#313 #836158
Как это пофиксить?
>>836163
#314 #836163
>>836158
Установить правильную версию kivy?
https://github.com/kivy/kivy-designer/issues/135
>>836167
#315 #836167
>>836163
а через pip разве не последняя ставится?
>>836177
#316 #836177
>>836167
python -c 'import kivy'

Какую версию показывает?
>>836179
#317 #836179
>>836177

>python -c 'import kivy'


1.8.0
>>836184
#318 #836180
Анон, делаю по https://gist.github.com/wannabearockstar/9bc790d3b5be4635b1c4 тестовый проект для набивки руки. Автор имеет пол. Надо думать что он может быть только мужик или баба. Куда деть логику обработки того, правильно ли юзер вбил пол и как мне это реальизовать? В классе прямо бахнуть проверку? Или есть более элегантный способ?
>>836186>>836229
#319 #836184
>>836179
1.9.1 нужна, попробуй pip install -U kivy
>>836201
#320 #836186
>>836180
А там разве тестовый проект на на php?

Мимо
>>836189
#321 #836189
>>836186
а мне как бы и похуй, я на джаге делаю. Какая разница-то?
>>836197
#322 #836197
>>836189
как насчет choices заебенить в поле? https://docs.djangoproject.com/en/1.10/ref/models/fields/#choices
В форме поле будет отображаться как выпадающий список с 2-мя вариантами выбора и проверять ниче не надо.
>>836209
547 Кб, 1920x1080
#323 #836201
>>836184
Вот такая вот хуйня
>>836206>>836414
#325 #836209
>>836197
Спасибо, удобная штука.
#326 #836229
>>836180
добавочный вопрос - как реализовать пользователей сайта и добавить им возможность добавлять книги, авторов, добавить личный кабинет и прочую шушару? В какую сторону смотреть?
>>836242
#327 #836242
>>836229
В джанге все это есть по умолчанию. Вот отсюда можешь стартануть: https://docs.djangoproject.com/en/1.10/topics/auth/
Там внизу есть ссылки, по ним попереходи и найдешь информацию о том, как использовать стандартные auth views, расширять модель пользователя и прочее.

Профили и добавление книг/авторов, в принципе, делаются так же, как и обычные страницы с формами. Ну или из админки можно все это добавлять.
#328 #836262
>>836063

>Как стать таким же ?


Побольше пробелов перед знаками препинания и ты станешь таким же!
#329 #836300
>>836047
Слегка оптимизировал:
http://ideone.com/MpUVxX
>>836314
#330 #836314
>>836300
Нампи, подлец, astype(int) перевёл в numpy.int64, а не питоновский. Потому и медленее. Но у тебя список в десять раз дольше создаётся — http://ideone.com/ep2NM4
>>836321
#331 #836321
>>836314
30 ms вместо 3 ms, какая неудача :3
Зато нет оверхеда по памяти на импорт numpy.
>>836332
#332 #836332
>>836321
random кстати значительно быстрее randint
http://ideone.com/ixVnMm
35 Кб, 558x836
#333 #836351
Дывощ, подскажи, как можно сделать ходы наискосок у ферзя.
Буду завтра доделывать всё остальное
>>836356
#334 #836356
>>836351
Тебя миллион конвертаций в int не смущают?

Нихуя не понятно, в чём там у тебя проблема-то? Ход по диагонали это же просто pos[0][0] +/-=n, pos[0] +/-=n. Но у тебя же вообще просто конвертируется цифробуквенная координата в индекс матрицы. Или ты хочешь проверить, разрешён ли такой ход?
>>836358>>836361
#335 #836358
>>836356

>pos[0][0] +/-=n, pos[0][1] +/-=n.

#336 #836359
>>832737
тож интересно
#337 #836361
>>836356

> Тебя миллион конвертаций в int не смущают?


Это всё я буду фиксить после того как задание засчитается.

> Нихуя не понятно, в чём там у тебя проблема-то?


Попробовал сделать ход влево-вверх, но у меня проихошла хуйня (смотреть в верхнюю правую часть), поэтому нужно написать нормальную формулу

> pos[0][0] +/-=n, pos[0] +/-=n


А это сработает ? Это же относительно начала отсчета координат, а мне нужно относительно ферзя
>>836390
#338 #836390
>>836361
Я правильно понял, что тебе вот такое на выходе нужно http://pastebin.com/Nv9vPFp8 ?
>>836431
#339 #836393
Блядь, олимпиадник, новичёк... уёбывайте нахуй отсюда!
#340 #836396
Бля, вот я пишу код, он вроде работает, но я не понимаю, почему именно. Ахуеть у меня интуиция.
>>836414>>836423
#341 #836397
После Джанги Фласк в натуре уебанский. Армин дохуя умный конечно, но выставленные жопой наружу синглтоны не позволяют ни писать, ни читать.

Уебанство.
>>836414
#342 #836414
>>836201
python-dev пакет накати, gcc не может хеадер найти
>>836396

> вот я пишу код, он вроде работает, но я не понимаю, почему именно


Лил, у нас так сервак на работе пашет, никто не понимает как, но умудряемся какие-то фичи добавлять даже
>>836397
flask микрофреймворк, это как бы клей для приложения. А джанго навороченная тяжелая хуита. Если нужен минимум удобностей юзай лучше bottle
>>836417
#343 #836417
>>836414

>flask микрофреймворк, это как бы клей для приложения.


Какой еще нахуй клей? Фласк by design сломан, приложения с ним превращаются в дрисню, где на каждый дрист нужно дергать глобальные переменные.
>>836465>>836553
#344 #836423
>>836396
Тоже так делаю, смотрю на числа и подгоняю под них код.
#345 #836431
>>836390
Да. И чтобы все это рассчитывалосьь относительно Ф
#346 #836445
>>833510

>Перезвоним.


В чем проблема?
sage ## Mod ## #347 #836455
>>836428
Делай нормальные ссылки, не вводи анона в заблуждение
>>836517
#348 #836465
>>836417
И что, в маленьких и средних проектах это вообще некритично.
>>836518
#349 #836517
>>836455
Мочарня, пора завести прикрепленный тред с сылками на конфы
#350 #836518
>>836465
В Django зато все из коробки.
#351 #836553
>>836417
Ну в подобных фреймворках своя атмосфера. Они by design заточены под однопоточное выполнение с uwsgi со своим окружением. То есть для uwsgi нудно плодить еще воркеров если понадобится.
Хочется большей модульности - есть асинхронщина.
#352 #836587
>>832745
def check_palindrome(s):
for x, y in zip(s, s[::-1]):
if x != y: return False
return True
>>836591
#353 #836591
>>836587
all(x == y for x, y in zip(s, reversed(s)))
>>836613
116 Кб, 713x621
#354 #836600
Мде, даже первое задание вступительного этапа не могу сделать
>>836604
#355 #836604
>>836600
хм. интересное ж задание.
Есть первое N. смотришь, чему оно равно.
Потом второе н2. Если н2 меньше н выполняешь каой-то код. Теперь я буду думать всё ночь. Спасибо, АНон!
>>836612>>836614
#356 #836612
>>836620
#357 #836613
>>836591
клева
#358 #836614
>>836604
Через обычные циклы будешь едлать ?
#359 #836616
как начать писать на фласке? как разобраться в нем? есть к только что начал писать на нем? как начали вообще?
>>836628
#360 #836620
>>836612
Капец блять, такое простое решение
#361 #836628
>>836616
man server gateway interface
man mvc
man orm
А дальше просто посмотри примеры в репозитории. Собственно я так и делал.
>>836735
#362 #836648
>>832681 (OP)
Помогите с XML и Xpath. Почему выражение не находит элемент и xpath выдает пустой результат ?

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

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

сам XML проверенный, ошибок не выдает
>>836685
#363 #836676
Автор и Жанр нельзя удалить, пока к ним привязан хотя бы 1 книга. Куда запихать эту логику? Если в модель саму, то я знаю что есть метод delete(). мне нужно будет декоратор к нему писать?
>>836697
#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)

наслаждайся своими неймспейсами
>>836688
#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
#367 #836723
Палиндромистам выше.
Я не понимаю, разве просто сравнить строку с её reversed вариантом не вариант)?
>>836747
#368 #836735
>>836628
я свое первое (и пока последнее) быдлоподелие на фласке писал с чистыми sql запросами к sqlite3 базе лол
#369 #836747
>>836723
Вариант.
>>837010
#370 #836787
сап зк. посоветуйте либу для работы с rest API как клиент. сейчас руками спрашиваю все с помощью requests, но неудобно.
желательно чтобы можно было колбеки для процессинга ответа передавать.
>>836949>>836985
15 Кб, 546x387
#371 #836803
Сап питонач, 16 лвл, недавно вкатился в python, накалякал программку для решения квадратных уравнений. Хочу услышать критику/советы по оформлению, чтоб было красиво, просто kiss, dry там всякие и не говнокодисто
>>836815
#372 #836815
>>836803
преобразование во float оберни в try-catch.
вместо % используй .format. всегда выводи значения через format.
если а=0, будет деление на ноль.
проверь скрипт flake8
>>836821>>836823
#373 #836821
>>836815
премного благодарен
Не мог бы ты пояснить насчёт второго пункта? почему вынос через .format лучше, чем через %
#374 #836823
>>836815

> Не мог бы ты пояснить насчёт второго пункта? почему вынос через .format лучше, чем через %


Не слушай поехавшего фанатика.
>>836824>>836855
#375 #836824
>>836823
ты тоже тогда обоснуй
>>836839
#376 #836831
>>833734
Берешь и без задней мысли пишешь, попутно выучив верстку на html и css
#377 #836839
>>836824
format функциональнее, но если тебе удобнее и хватает % форматирования, то нет ничего плохого в том, чтобы использовать его.
К слову, logging модуль до сих пор использует проценты.
576 Кб, 800x900
#378 #836845
Анон, помоги разобраться как работает 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__ не нашел
#379 #836853
>>836845
через супер всегда же обрабатываются все родители, не?
#380 #836855
>>836823
% deprecated. этого достаточно
>>836857
#381 #836857
>>836855
Кто тебе такое сказал?
>>836927
#382 #836878
>>836845
1. вызываешь супер инит
2. п.1 + self.number = 0
3. самое просто это del self.cards
3a. можно сделать super().__init__(cards=None) и в Hand.__init__ проверять, если cards is None, не присваивать.
Но скорее ты что-то не так проектируешь.
>>836895
#383 #836895
>>836878
Можешь именно код скинуть под все три случая? пожалуйста
я даже не могу разобраться какие параметры куда прописывать

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

Вот эти два хз меня и смущают, нигде не нашел что за что отвечает.

> Но скорее ты что-то не так проектируешь.


там все кроме первого вопроса - для вообще понимания возможностей такого подхода
>>836913
#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)
>>837036
#385 #836917
Почему этот засцяный пайтон постоянно выёбывается на виде? Это язык только для пердоликов штоли?
#386 #836922
>>836917

>винде

>>836932
#388 #836932
>>836922
Это старые доки, они передумали выпиливать.
https://docs.python.org/3/tutorial/inputoutput.html#old-string-formatting
#389 #836949
>>836787

> колбеки


Хорошо, что такой нет.
>>836952
#390 #836952
>>836949
можно и без колбеков.
>>836956
#391 #836956
>>836952
Тогда aiohttp хватает.
>>836957
#392 #836957
>>836956
где там про rest? урлы скачивать я requests'ом могу
>>836958
#393 #836958
>>836957
Сделай обёртку над __getattr__, хуле ты как калека? может и либа, конечно, есть, но идея реста, чтобы использовать хттп и следовательно либы для хттп. иначе бы сделали новый протокол без лишнего говна
#394 #836985
>>836787
Покажи, как ты сейчас дергаешь апи на паре примеров.
Потом покажи, как тебе хотелось бы дергать.
#395 #836990
>>836917
Тому шо виндопогромистам не нужен пайтон, у них своего говна навалом
#396 #836992
>>836917
А че тебе не так на винде? Хуярю с пайчарма на винде, все норм.
#397 #837010
>>836747
Но надо изъебнуться раком в сраку и сделать все хитро?
>>837027
#398 #837027
>>837010
Каким раком? Что тебе не нравится?
Стандартное решение это пройтись до середины строки с обоих концов, сравнивая символы по пути.
#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)?
>>837198
#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 - оба модуля для него
>>837122
#401 #837122
>>837105
Game.play(names) замени на Game(names).play(). И не тупи так больше.
>>837138
#402 #837138
>>837122
Спасибо большое
А как вообще такие ошибки находить? Сам-то питон на список вообще ругался
>>837161
#403 #837161
>>837138
Это вообще не ошибка.
#404 #837198
>>837036
1. Да.
2. У cards есть значение по умолчанию (54), поэтому его не нужно было указывать. Когда ты вызываешь инит родительского класса, то он исполняется, в данном случае родитель присваивает объекту number и cards, но ты не хотел карты у игрока, поэтому и del self.cards.
3. Правильно. Указание аргументов необходимо потому, что родитель требует этого.
Представь себе, что ты просто создаешь новый объект класса Hand. В данном примере, Hand требует от тебя указать number и по желанию cards при создании.
#405 #837209
Почему у нас нет телеграмо-конфы?
>>837217
#406 #837217
>>837209
Потому что нинужна
>>837306
sage #407 #837306
>>837217
прямо как питон
>>837363>>837368
150 Кб, 1096x583
#408 #837355
Как вот это сделать ?
>>837518
#409 #837363
>>837306
Пайтон как раз таки нужен, в отличии от телеграма.
64 Кб, 321x495
#410 #837368
#411 #837401
>>836845
У вас пикча поломата, непорядок. Соус двух оригинальных изображений?
22 Кб, 604x381
#412 #837439
Блять как научитсья программировать :(((((( Сука дней всё меньше блять, а у меня никакого прогресса нет. Вот ща думаю, может учиться на готовом коде. То есть искать готовый код задач, разбирать этот код, добавлять в него свои комментарии. И по возможности искать похожие задачи, чтобы с полученными знаниями научитсья кодить
>>837449
7 Кб, 323x32
#413 #837443
Такое чувство, будто чтобы пройти дальше, нужно особым образом изменить сознание.
Надо мной как будто гильотина, которая скоро упадёт :(
#414 #837449
>>837439
Забей, это просто не твое.
>>837458
#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 лет, как ускорить? Вообще нет идей
#416 #837454
>>837452
Точнее вообще не могу результата дождаться, видимо это надо писать на сях...
#417 #837458
>>837449
Чувак, я в 9 классе решгил, что буду айтишником.
>>837460>>837461
#418 #837460
>>837458

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

>>837452
#419 #837461
>>837458
Я в 25 решил, что буду айтишником. Прикольно, че. Но толку-то?
>>837475
#420 #837475
>>837452

> ∑


Вот такую хуйню еще не проходил на математике
То есть n - число, на которое должен разделиться факториал без остатка, а m - сам факториал ?
>>837461
Более того, я лучший в классе и скорее всего лучший в городе среди 11 классов
>>837481>>837492
#421 #837481
>>837475
Ну да, это сигма то-есть сумма элементов в некотором диапазоне. Допустим ∑ x при x принадлежит от 1 до 10 значит просто сумма всех чисел от 1 до 10
>>837501
#422 #837492
>>837475
Умничка. Тогда у тебя все будет хорошо. А я вот неудачник, который лучше только своей собаки, но тоже превозмогаю.
18 Кб, 677x713
#423 #837501
>>837481
Дальеш что нужнол делать ? Сумму элементов от 0 до 62 ?
>>837502
#424 #837502
>>837501
Нужно найти число минимальных факториалов которые разделятся без остатка , на каждый элемент от 600 000 000 до 610 000 000, (если такой факториал есть.
>>837506>>837540
#425 #837506
>>837502
То есть нужно найти факториал, которые без остатка делится на каждое число от 600 млн до 610 млн ?
Сколько таких фактоиралов нужно найти ? Сколько можно, но ведь они будут очень долго считаться же ?
>>837510
#426 #837510
>>837506
В том-то и дело, нужно найти для каждого числа такой факториал (минимальный), который разделится на это число без остатка, при этом не указаны границы, я выставил не более 500, уже час считает лол. Для небольших цифр быстро находит, наверняка есть изящное решение.
>>837512>>837540
#427 #837512
>>837510
Позже попробую
#428 #837518
>>837355
Элементарно жи: http://ideone.com/SJZ9dk
max_saw_op — более примитивный и топорный вариант, который просто выбирает нужный начальный оператор (больше или меньше) и при каждом "верном" сравнении меняет его на другой. Скорее всего, не самым эффективным способом, зато в одну строку.
#429 #837540
>>837510
>>837502
Не, нихуя не понял. Нужно найти факториал, которые делится без остатка на все эти числа или нужно найти ? Нужно найти несколько таких факториалов ? А что за магические символы в условии тогда ?
>>837547
#430 #837547
>>837540
Для каждого числа нужно найти факториал, который делится на него без остатка и потом все факториалы эти сложить и вывести сумму. Короче я хуй забил уже.
>>837548>>837564
#431 #837548
>>837547
Это разные факториалы
7 Кб, 515x434
#432 #837564
>>837547
Что-то такое ? Тоже очень должно решается
>>837577>>837580
#433 #837577
>>837564
Ну да, похоже, я просто раздробил на отдельные функции.
#434 #837580
>>837564
Только у тебя бесконечный вайл луп, нужна точка выхода
>>837586
#435 #837586
>>837580
Ой, точно
#436 #837836
>>837452
http://ideone.com/g6Wn5O

Запускал на pypy с установленным sympy, считалось минут 7-8 для значений 570000000, 580000000.
#437 #837838
Что с чекио то произошло? Теперь задачи открываются по одной? Нельзя выбрать из всех удобную и самые сложные на конец оставить. Что за хуета.
>>837840
#438 #837840
>>837838
На сложности элементари была задача про булеву алгебру, теперь её нет, что за хуйня.
#439 #837844
Ппц
#440 #837861
>>837452

>В общем случае, значение функции s(n) равно наименьшему числу m, такому что m! без остатка делится на n.


Если я правильно понял задачу, то очень просто.
Возьми напиши функцию, которая раскладывает факториал на множители (это очень быстрая операция для факториала). Далее разложи твой n на множители (уже не факториальное разложение) и найди первое m!, которое включает в себя n множители.

Это в первом приближении. Тут есть много вариантов оптимизации.
>>837864>>837886
#441 #837864
>>837861
Добавлю, что начинать поиск m нужно с наибольшего простого числа из n.
#442 #837885
>>837452
Вот тебе еще одна мысль.
Создай список с разложением факториалов на множители. Т.е. это будет список списков с числами.
Каждый следующий факториал - это просто предыдущий с добавленными туда сомножетилями следующего m.
Тебе понадобится либа для факторизации.

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

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

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

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

Я нагуглил где ты эту задачу взял
https://school.hh.ru/
>>837890
#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 минут.
>>837887>>837888
#444 #837887
>>837886

> p m


> 6 = 2 3

#445 #837888
>>837886
Первый параграф нехуя не понял.
#446 #837890
>>837885

> и первый entry, который у тебя включает факторизированное n и будет нужное m


Индекс первого entry, конечно. Разумеется у список отсортирован по возрастающему.
#447 #837897
Есть одно тестовое задание, нужно отсортировать числа/строки по возрастанию/убыванию по алгоритму сортировки вставками, но при этом нельзя использовать библиотечные функции сортировки, с числами я разобрался, а вот как сортировать строки по лексикографическому порядку я не знаю.
Вот так я сконвертил слова в коды символов:
https://ideone.com/hX3A15
а вот как отсортировать этот список и потом chr'нуть их обратно я не понимаю.
>>837899>>837900
#448 #837899
>>837897

>а вот как сортировать строки по лексикографическому порядку я не знаю.


google: lexicographical order
#449 #837900
>>837897
К слову, в питоне можно строки сравнивать.
>>837905
#450 #837905
>>837900
Надо лексикографический порядок использовать.
>>837906>>837912
#452 #837912
>>837905
Так и делается. Причем не только строки, а вообще любые контейнеры, насколько я понимаю.
>>837917
8 Кб, 210x229
#453 #837917
>>837906>>837912
Блин, и правда, всё работает, у меня как обычно голова полна велосипедов, спасибо!
#454 #837939
на работке дали фласкопроджект, ну думаю заебца, здесь часто расказывали какой фласк пиздатый
открываю проджект - папка рандомных скриптов вперемешку с баш костылями, куча глобальных переменных, роуты в декораторах
ну хуйня, думаю, лох какой-то писал, открываю фласковики по структуре проектов, и тут-то меня ждет кекус-максимус:

> Here’s an example __init__.py:


>


> from flask import Flask


> app = Flask(__name__)


>


> import yourapplication.views


фласкодебилы, вы там совсем ебанулись?, кто в здравом уме будет советовать это говно?
#455 #837969
>>837939
Ты познал суть, молодец. Теперь можешь переходить на следующий уровень.
#456 #837970
>>837939
Не очень понял.
#457 #837971
>>837939
Сайты на flask хуёво делать, анон говорил что на нём хорошо api'шки делать.
>>837973
#458 #837973
>>837971

>


>Сайты на flask хуёво делать, анон говорил что на нём хорошо api'шки делать.


А можно более конкретно. Хочу вкатиться в это дело.
Чем плох фласк и хорош? На чем лучше всего делать сайты?
>>837976
#459 #837976
>>837973

>На чем лучше всего делать сайты?


На пхп.
>>837977
#460 #837977
>>837976

>На пхп.


Но я гетеро!
#461 #838005
Анон, какого черта питон складывает 10000 + 5000 + 5000 = 20000.0
схуя там .0 получается понимаю там с плавающей точной в js пиздец, но тут целые числа складываются. Мне что теперь при любой проверке на int число насильно в целое превращать?
#462 #838010
>>837991
Наркоман?
>>838017>>838025
#463 #838013
>>838005

>10000 + 5000 + 5000


python 3.5.2
Не подтверждено
>>838025
#464 #838017
>>838010
>>838005
Вот сюда
12 Кб, 412x481
#466 #838025
>>838010
>>838013
9600 + 8440 = 18000.0
#467 #838028
>>838025
Снова не подтверждаю.
Может глянешь сюда?

https://wiki.python.org/moin/FutureProofPython
>>838097>>838099
#468 #838046
>>838025

>9600 + 8440


C:\Python27\python.exe C:/Users/apavlov/PycharmProjects/PySaHelper/Main.py
18040

Process finished with exit code 0
#469 #838071
>>838025
Ну ты код-то может покажешь? Флоат у тебя, очевидно, получается ещё при подсчёте суммы выигрыша.
>>838078
#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

Что делать то, котаны?
#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

попробовал округлить ставку - все равно общая сумма флоатом получается
>>838080>>838090
#472 #838080
>>838078
мартыха, ну напиши ты int() для своего результата, и успокойся
>>838082
#473 #838082
>>838080

> ну напиши ты int() для своего результата, и успокойся


это и будет мартыхо-подходом, ты мне причину скажи
#474 #838090
>>838078
На. https://docs.python.org/3/library/functions.html?highlight=round#round

Если ты с инатми оперируешь, то что ты там округляешь-то, блин?
>>838093
#475 #838092
Нашел нужное место:

> self.bankroll / len(winners)


при делении двух целых оно мне выдает флоат, даже если получается целое
>>838097
#476 #838093
>>838090
В смысле, тут читать

>Return the floating point value

#477 #838097
>>838092
Пф, на это тебе тоже указывали уже тут >>838028
>>838099
#478 #838099
>>838097
>>838028
Да не заметил сразу, спасибо, зато теперь запомнится лучше :3
>>838101
#479 #838101
>>838099
Всегда рады помочь. Нет.
Поясните ньюфагу #480 #838115
В сети столько криков, о том что, за python2 надо по рукам бить, а python3 - красотища.

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

Что почитать, чтобы перестать соасть хуй?
А может нахуй вообще этот ваш python?
#481 #838120
>>838115

>python3 не имеет иструментов для веб парсинга


Это скорее "я лох и не умею найти нужные инструменты"

https://docs.python.org/3/library/html.parser.html
>>838126
#482 #838122
>>838115

>python3 не имеет иструментов для веб парсинга.


Погодь, погодь, но ведь beautiful soup на третьем питоне пашет. В чем проблема?
#483 #838124
>>838115

>хотел обойтись без lxml


Нахуя? libxml в любом дистре легко ставится, я даже в слаке на память скажу, как эту либу установить. А биндинг под неё есть и на 3 питоне с момента релиза.
#484 #838126
>>838120
html.parser вроде требует, что ему дали корректный html. В условиях веба наивно его пользовать.

>>838115

>lxml


Не надо использовать lxml. Он имеет много функционала, которым хакеры тебя похакают. Используй defuzedxml.
#485 #838134
>>838126

>Он имеет много функционала, которым хакеры тебя похакают.


Добавлю.
На youtube видео посмотри по этому поводу. Очень распространенная ошибка использовать такой умный инструмент. Причем не только в питоне этим грешат, а еще и в java мире.
#486 #838174
>>838115
BeautifulSoup ?
>>838178
#487 #838175
>>838126

>требует, что ему дали корректный html


Именно, или надо фиксить на ходу.

За

>defuzedxml


Спасибо.
>>838214
#488 #838178
>>838174
Уже на xpath всё сделано.
#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)

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

Аноны, что делать?
#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)

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

Аноны, что делать?
10 Кб, 570x518
#490 #838206
Помогите плз!
>>838207
#491 #838207
>>838206
Ебучий виндовз не умеет в utf-8 в командной строке.
Конвертируй вывод в win-1251
>>838210
#492 #838209
Аноны, такой вопрос.
Я хочу сделать логгер, который будет использоваться таким образом:
Перед функцией ставится декоратор
@logger(name="qwer", severity=2, color="yellow", out="qwer.log")
def f(x, y, z...):
body

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

Вопрос тут в том, как из dprint узнать, какой в данный момент logger я должен использовать (имя, файл, цвет etc).
Склоняюсь к варианту, что использовать интроспекцию и смотреть стек.
>>838211>>838227
#493 #838210
332 Кб, 600x578
#494 #838211
>>838209
Явно объявить эти параметры атрибутами класса или объекта не хочешь?
>>838212
#495 #838212
>>838211

>Явно объявить эти параметры атрибутами класса или объекта не хочешь?


Конечно нет!
>>838213
#496 #838213
>>838212
Тогда осваивай брейнфак.
>>838217
#497 #838214
>>838175

>Именно, или надо фиксить на ходу.


Как это делается? Есть рабочий пример?
#498 #838217
>>838213

>


>Тогда осваивай брейнфак.


Я видел, что что-то такое есть в фласке, но не копал, как это сделано. Если тут не помогут, то, конечно, посмотрю через некоторое время, но хотелось бы получить быстрый ответ.
>>838224
#499 #838224
>>838217
Explicit is better then implicit
Simple is better then complex
#500 #838227
>>838209

>какой в данный момент logger


А может иметь один логгер и изменять его параметры? Просто декораторы они как бы не так работают же.
тотальный говнокод - http://ideone.com/LSZQkE
В декораторе должен быть не выбор логгера, а просто смена параметров одного единственного, тем более, что имея столько параметров, нужно клепать несколько десятков их.
>>838235
#501 #838235
>>838227

>А может иметь один логгер и изменять его параметры?


Не, не годится. Вообще, ты должен бы понять, что это паттерн.

>В декораторе должен быть не выбор логгера, а просто смена параметров одного единственного, тем более, что имея столько параметров, нужно клепать несколько десятков их.


Я допускаю, что в начале проги создаются несколько логгеров, а далее в декораторе можно указать логгер в качестве параметра. Далее dprint будет писать в него.
Задача все таже.
>>838237
#502 #838237
>>838235
Ну тогда вот примерно мой код и используй, навреное, если никто его не обоссыт.

>Вообще, ты должен бы понять, что это паттерн.


?
>>838239
#503 #838239
>>838237

>Ну тогда вот примерно мой код и используй, навреное, если никто его не обоссыт.


Интересная фишка с глобалом. Насколько я понимаю, global просто указывает, что надо искать переменную выше по стеку?
>>838268
#504 #838268
>>838239

>global просто указывает, что надо искать переменную выше по стеку?


Нет, искать он и так будет доходя до глобала, при использовании (как словарь loggers), указание на global нужно, чтобы он не создавал локальную dprint на 14-ой строке. Если убрать global, он увидит в коде функции dprint = ... и станет ругаться на то, что "local variable 'dprint' referenced before assigned", на строке 13 (prev_dprint = dprint).

Просто тут тебе либо функцию dprint писать так, чтобы она перед логгированием сообщения проверяла какую-то переменную, которую твой декоратор изменяет, либо просто переопределять сам идентификатор 'dprint' как у меня сделано. Других вариантов лично я не вижу/не знаю.
>>838271
#505 #838271
>>838268
А если в стеке будет несколько global-переменных идущих следом, то как это будет работать? Спрашиваю вообще, а не в случае с логгером.
И спасибо за примемчик.
>>838291
#506 #838276
Как поменять цвет у ГридЛейаут в Киви?
#507 #838287
>>838126

>Не надо использовать lxml. Он имеет много функционала, которым хакеры тебя похакают


Скинь видос, не гуглится.
>>838290
#508 #838290
>>838287

>Скинь видос, не гуглится.


К сожалению не записал адрес. Видос у меня есть, но он на другом винте.
Помню, что это было видео с какой-то конференции по питону. Еще помню, что автор там из Новой Зеландии.
#509 #838291
>>838271

>А если в стеке будет несколько global-переменных идущих следом,


В смысле несколько? Не может быть несколько глобальных с одним именем же. Он остановится на первой найденной — http://ideone.com/Psb2zT

Или ты имеешь в виду просто код "global a, b, c, d"?
>>838292>>838296
#510 #838292
>>838291

>Он остановится на первой найденной


Ок.

>Или ты имеешь в виду просто код "global a, b, c, d"?


Нет.

---
Перекат делать будем?
>>838297
#511 #838296
>>838291

>Он остановится на первой найденной


Посмотрю потом видео про python internals.
#512 #838297
>>838292
Важно ещё, что на первой найденной относительно места объявления функции, а не вызова — http://ideone.com/GhJnOi
>>838298
#513 #838298
>>838297

>Важно ещё, что на первой найденной относительно места объявления функции, а не вызова


Век живи - век учись.
31 Кб, 464x320
#514 #838447
Анон, пробую проходить задачки. Попалась такая:
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 ?
#515 #838461
>>838447
мусорка из символов для покопаться - в коде самой странице если что
#516 #838486
>>838447
Не понял задания. Что сделать-то нужно? И что во входном файле? И как ты узнаешь правильный ответ или нет? И что это за хуйня вообще?
>>838496
#517 #838496
>>838486
Вообще - загадки. Можешь начать с главной - там все написано. Суть: на странице есть загадка, чтобы ее отгадать - нужно что-то сделать, применяя навыки программирования (необязательно на питоне). Ответ вставляешь в адресную строку, если правильный - попадаешь на след задание.
В предыдущем задании в исходном коде страницы был кусок текста (мешанина из символов), из которого нужно было сделать осознанный текст, убрав все кроме букв.
#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 Ну, при условии, что такая последовательность там одна.
>>838533
#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?
#520 #838542
решил начать прогораммировать, подскажите какой лучше редактор использувать
#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()


кажется костылем каким-то
>>838573
#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
>>838565
#523 #838565
>>838558
а, не, однострочник только с регэкспом, другой вариант же всё равно требует создагния seq и bitstr. Ну, две строки.
#524 #838573
>>838544

>помогло, но


не "не больше", а ровно три же. Потому я у себя и сделал последовательность из 9, а не 7 символов.

>кажется костылем каким-то


Ну, формально от этого никуда не денешься, тебе нужно проверят регистр символов, просто это всё красивше можно сделать.
>>838626
#525 #838583
>>838533
ээ, а ещё, там строчная, окружённая трями прописными! AAAbAAA.
>>838626
#526 #838626
>>838573
Спасибо, завтра попробую разобраться что там у тебя я в питоне вообще 3ю неделю, о bitstr, all и тд только сегодня услышал
>>838583
да, я чот заглавные строчными называл
>>838640
#527 #838640
>>838626

>о bitstr,


это просто название переменной, ничего не значит.
Тред утонул или удален.
Это копия, сохраненная 22 сентября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски