Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
590 61 151

Питон тред #72 /python/ Аноним 04/11/19 Пнд 11:42:19 15127521
5255d67b9fa03d2[...].jpg (104Кб, 707x600)
707x600
Guido554.jpg (34Кб, 495x641)
495x641
intro.8915db175[...].png (40Кб, 1394x411)
1394x411
Тред, посвящённый языку программирования Питон, #72.
Предыдущий >>1502633 (OP)

ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 года

Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/
https://pastebin.com/
https://pyfiddle.io/
https://www.codepile.net/
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.

Стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

А что ещё можно читать? - Питон сам по себе очень хорошо задокументирован, и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги. - МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? - очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4

А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.

В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Аноним 04/11/19 Пнд 13:17:34 15127972
здоровы почаны. хто какую асинхронную ОРМ юзает? я тут решил на асинхронных питонах начать писать и всё было норм, до того как я приступил к работе с БД. попробоваил GINO - хуже этой хуйни в жизни ничего не видал, легче на чистом sql писать. неужеле с асинхронный питоном всё настолько плохо, что до сих пор блять нет нормальной ОРМ, скажите что это не так пожалуйста. потому что чем больше я изучаю эту тему, тем больше во мне уверенности, что асинхронный питон всё ещё годен лишь для пет-прожектов, а в проде для этих целей лучше юзать какой-нибудь ГО, даже там всё лучше в этом плане
Аноним 04/11/19 Пнд 14:10:10 15128623
Аноним 04/11/19 Пнд 14:15:27 15128684
>>1512862
Что сплит делает? С обоими текстами выведи что получается после сплита и подумай, правильно ли он это делает.
Аноним 04/11/19 Пнд 14:28:33 15128875
>>1512868
Ну сплит разделяет слова по заданным знакам. Если не задать ничего, то по пробелам.
Аноним 04/11/19 Пнд 14:31:24 15128916
>>1512887
Точнее, разделяет строку, превращая в список
Аноним 04/11/19 Пнд 14:32:18 15128927
>>1512797
Чем GINO не угодил?
Мимоюзаемвпроде
Аноним 04/11/19 Пнд 14:35:19 15128948
Как напрямую получить доступ к счетчику ссылок на объект в пределах модуля?.. Есть счетчик слабых ссылок на объект (не понял правда нахера он нужен), а где счетчик обычных?..
Аноним 04/11/19 Пнд 15:40:17 15129769
>>1512892
Говно ебаное. Не, так-то неплохо, но там же хуй проссышь местами как чего использовать, а в доках нихуя нет. Половина фич из алхимии работает, а половина вроде как не работает либо совсем, либо их дергать надо хуй пойми как. И да, манятуманя там вообще нет - мне пришлось много костылей напихать, чтобы m2m можно было по-человечески использовать и не писать руками кучу одинакового говна для каждого отношения.
Но я так понял, из альтернатив ничего лучше нет, так что придется gino хавать и надеяться, что китаец когда-нибудь допилит. Хорошо хоть на гытхабе отвечает довольно бодро и многие вопросы там можно найти.
>>1512797
Я сначала тоже думал, что sql чистый будет проще. Потом посмотрел на это все и понял, что нихера не проще. С gino можно использовать alembic для миграций, а так все придется руками писать. Так-то асинхронные инструменты в питоне есть крутые: aiohttp, fastapi те же, но с орм пока что беда, хотя gino у нас в проде крутится и нормалды. Ждём django 3 с асинхронщиной, лол.
Аноним 04/11/19 Пнд 15:54:37 151299210
Аноним 04/11/19 Пнд 15:55:37 151299411
>>1512894
Хоть убейся, ничего не выйдет.
Аноним 04/11/19 Пнд 15:55:51 151299612
>>1512976
> Ждём django 3 с асинхронщиной
Хах
Ещё есть Peewee, кстати, но он мне не понравился своей структурой.
04/11/19 Пнд 16:13:00 151301213
image.png (15Кб, 263x357)
263x357
Подскажите, пожалуйста, как лучше всего сделать следующее на Питоне:

необходимо слушать скриптом порт 8080 и ожидать текстовые файлы, которые будут приходить по HTTP пост запросами,
далее необходимо после неких преобразований сохранить каждый полученный файл в другом формате,
причем необходимо обрабатывать до 3х таких параллельных запросов


короче непонятно, какие вообще библиотеки для такого использовать и как такую цепочку организовать,

я пока сделал так:
с помощью socket сделал сервер, который слушает на порту 8080, принимает ровно 1го "клиента", принимает от этого клиента ровно 1024 байт
текстовый файл передаю через curl командой типа:
curl -i -X POST http://localhost:8080 -H "Content-Type: text/xml" --data-binary "@path_to_text_file"

в результате получаю строчки на стороне сервера строчки по типу :
b'ip=1.3 device=/\xd0\x92\xd1\x81\xd0\xb5 \xd0\x97\x ...
короче, это не то что мне нужно

подскажите, пожалуйста, как организовать эту цепочку
Аноним 04/11/19 Пнд 16:14:49 151301514
> HTTP пост запросам
> с помощью socket сделал сервер
Всё у тебя хорошо?
Возьми фласк/aiohttp и замути всё что тебе надо.
Аноним 04/11/19 Пнд 16:15:13 151301615
Аноним 04/11/19 Пнд 16:17:54 151301916
Ребята, хлопци, пацаны, мне нужно сгенерировать несколько пикч, 3д рендеров с парой-тройкой простых фигур в каждой по заданным вершинам, подскажите пожалуйста библиотеку с которой это будет проще всего сделать
Аноним 04/11/19 Пнд 16:19:10 151302117
Аноним 04/11/19 Пнд 16:28:01 151302518
>>1513012
Ты хочешь сам реализовывать HTTP протокол? Хочешь сам реализовывать асинхронность и параллельность?

Что тебе надо на самом деле:
1) хоть немного разобраться, как работает асинхронность и/или многопоточность вообще и питоне в частности.
2) использовать соответствующие либы. Ты можешь как джедай использовать либы h2/h11, которые парсят HTTP, либо фреймворки. Я бы асинхронные использовал, aiohttp / sanic, про фласк ничего не знаю.

Если это тестовое задание, то я тебе сразу и честно говорю, ты для этой работы пока не готов. Разберись с асинхронностью. Мозг сломать надо, на это время надо, но как сломаешь, так потом несложно будет.
Аноним 04/11/19 Пнд 16:33:09 151302919
>>1513021
Это с viz или шо? Ну как-то не выглядит слишком просто. Уже посмотрел несколько библиотек и везде практически тот же уровень ебли что с голым opengl
Аноним 04/11/19 Пнд 16:34:19 151303220
Аноним 04/11/19 Пнд 16:54:01 151303921
>>1513032
С 3д там хуже, только чтобы настроить камеру нужно поиграться. Нет, я не боюсь первого семестра линейной алгебры, но мне нужно будет немало повозиться с этими рендерами, так что я хотел нацти что-то максимально примитивное и простое (пусть и в ущерб функциональности, хуле)
04/11/19 Пнд 16:58:35 151304322
>>1513015
окей, спс

>>1513025
>Если это тестовое задание, то я тебе сразу и честно говорю, ты для этой работы пока не готов
да, ты угадал, но всё-таки я хочу попытаться сделать хоть какое-то работающее решение хотя бы сделать задел на будущее
спасибо за советы
Аноним 04/11/19 Пнд 16:59:30 151304523
Укус питона для вката в более продвинутые книги норм? Или есть что получше для того же уровня?
Аноним 04/11/19 Пнд 17:01:15 151304824
Аноним 04/11/19 Пнд 17:17:15 151305425
>>1512892
Выше человек >>1512976
всё верно расписаи. Я только начал вкатываться в GINO уже охуел от отсутствия документации, и это я ещё ничего сложнее аггрегирующих функций не использовл, что будет дальше даже подумать страшно.

Если у вас есть продовый опыт может поясните за структуру проекта в aiohttp. Как например db-коннекшн передаете? Объявляете глобально один раз или прокидываете через из app.config. Буду рад нормальным материалам по этой теме
Аноним 04/11/19 Пнд 17:17:33 151305526
>>1513048
А почему 4-е именно?
Аноним 04/11/19 Пнд 17:18:12 151305627
>>1513055
Оно для 3го питона со всеми последними изменениями и исправлениями
Аноним 04/11/19 Пнд 17:22:25 151305928
>>1513056
Ну там просто 5-е есть. Оно разве менее актуально, чем 4-е?
Аноним 04/11/19 Пнд 17:28:52 151306529
>>1513059
А вот тут уже не знаю. Я вообще 4е взял, потому что его все рекомендуют из-за плюсов, мной перечисленных. Быть может, пятое урезано в некотором плане?
Надо спрашивать у местных знатоков
Аноним 04/11/19 Пнд 17:46:07 151309430
>>1513065
Можешь просто посмотреть что он пишет в разделе "about this edition", никто явно версии не сравнивал
Аноним 04/11/19 Пнд 17:50:25 151309931
>>1512887
Не по пробелам, а по вайтспейсам.
Аноним 04/11/19 Пнд 17:53:51 151310432
Аноним 04/11/19 Пнд 17:56:09 151310633
>>1513012
Тебе достаточно принимать файл с помощью какого-нибудь микрофреймворка (выше уже сказали) и плодить процесс на каждую обработку, для асинхроннщины есть даже специальный run_in_executor
Аноним 04/11/19 Пнд 17:56:26 151310734
>>1513099
Имеешь ввиду по чистым пропускам? По идее тогд надо пробел, запятую и другие знаки в разделители внести. Но как быть со знаками, которых он не досчитался? слов больше оказалось лол
Аноним 04/11/19 Пнд 18:00:29 151311135
Какие есть GUI для питона? Кроме Qt и tkinter.
Аноним 04/11/19 Пнд 18:06:07 151312336
>>1513111
Киви, но хуй знает, допилили ли его до вменяемого состоянияя
Аноним 04/11/19 Пнд 18:57:22 151316537
>>1513123
Спасибо. Блин, ткинтер простой слишком, а кьютэ тяжеловесная махина. Хотелось бы что-то по серединке. Но по ходу буду с кьютэ ебаться
Аноним 04/11/19 Пнд 19:29:51 151319538
такс анонасы. нужны ваши советы. не хочу спрашивать в мывамперезвоним треде т.к. там одни неадекваты сидят поэтому спрошу тут. хочу вот вкатываться на позицию джуна в вебе. по вашим же советам написал блог и свою аиб на джанге и запихнул в свое портфолио на гитхабе. так вот: в моем зажопье 20 вакансий на джангу, но везде нужны мидлы или сеньоры. что мне делать? слать им резюме и в сопроводительном письме писать возьмите плиз на стажировочку за мрот?
Аноним 04/11/19 Пнд 19:45:52 151321439
Помогите.png (52Кб, 645x457)
645x457
Анончики, которые помогали мне в прошлом треде с заданием. Вы его похоже не правильно решили. Вы сказали что не нужны входные данные. А теперь препод скинул еще инфы. И оказывается что входные данные есть. И снова прошу вас помощь, ибо я не могу понять что и как
Аноним 04/11/19 Пнд 19:49:30 151321840
>>1513214
Что тебе надо-то? Что не так? Вбивай в прогу данные, какие есть, и погнал
Аноним 04/11/19 Пнд 19:51:50 151322141
>>1513195
Тыжпрограммист, вот и прикинь сам: если джуны им не нужны, то они:
1. проигнорируют тебя (вероятнее всего)
2. позвонят и злым голосом скажут, чтобы ты больше им не писал (вряд ли)
3. внесут тебя в чорный список по всей стране и вообще будут тебе под дверь срать (я такого не встречал)
Если же джун не помешает, то тебе позвонят и позовут поговорить.
То есть лучше слать, чем нет.
Аноним 04/11/19 Пнд 19:53:30 151322242
>>1513214
>Анончики, которые помогали мне в прошлом треде с заданием. Вы его похоже не правильно решили.
Хуя ты наглый чорт.
Аноним 04/11/19 Пнд 20:01:05 151322943
>>1513218
код, который дали анончики не заработает в том виде с входными данными
Аноним 04/11/19 Пнд 20:06:39 151323644
>>1513221
>Если же джун не помешает, то тебе позвонят и позовут поговорить.
это ведь можно узнать только если я им отошлю свое резюме с письмом?
Аноним 04/11/19 Пнд 20:06:39 151323745
>>1513229
В смысле "код не заработает"?
Ты хочешь сделать copy -> paste и получить волшебную пилюлю? Препод найдет где доебаться, если не шаришь. Я не вчитывался, что за код они тебе дали, но блэт уверен что они мыслили в нужном направлении. Просто рефакторни его для себя блин
Аноним 04/11/19 Пнд 20:11:14 151324046
>>1513236
Можешь ходить с таинственным видом вокруг их офиса, рано или поздно они не выдержат и спросят, не хочешь ли у них поработать.
Аноним 04/11/19 Пнд 21:04:06 151327747
1D9F149B-FF41-4[...].jpeg (241Кб, 1080x1334)
1080x1334
>>1513214
в чем сложность то? Сгенерируй список иксов, например, с помощью np.arange(-2,2,0.3) и пройдись по ним в цикле как-то так

def func(x):
return (x+1)/x2

otvet = [ func(i) for i in np.arange(-2,2,0.3)]
Аноним 04/11/19 Пнд 21:31:13 151331548
Сука, как вообще можно прогать на этом говне? Без инкапсуляции, без адекватной параллельности, с производительностью полудохлой лошади?..
Аноним 04/11/19 Пнд 22:07:20 151335849
>>1513315
> Без инкапсуляции
Ещё один неправильно понял смысл инкапсуляции.

> без адекватной параллельности
Это если думать, что ничего, кроме CPython, не существует.

> с производительностью полудохлой лошади
А не пиши числодробилки на питоне, и не будешь страдать.
Аноним 04/11/19 Пнд 22:12:02 151336150
>>1513277
А когда я это сделаю, меня будет ждать такая баба на пляжу?
Аноним 04/11/19 Пнд 22:19:35 151336551
image.png (216Кб, 640x426)
640x426
>>1513361
лучше. тебя будет ждать она
Аноним 04/11/19 Пнд 22:24:09 151337152
>>1513315
Там есть инкапсуляция, алё.
Аноним 04/11/19 Пнд 23:12:47 151340953
>>1513371
>инкапсуляция
>невозможно сделать класс доступным только на уровне модуля
збс
Аноним 05/11/19 Втр 00:36:36 151345154
>>1513409
Дай угадаю, ты из тех людей, которые считают, что если в языке нет ключевых слов private и public, то значит и нет инкапсуляции. Так вот, открою тебе секрет, если разработчику понадобиться достать приватный класс или поле, то он его достанет с помощью рефлексии и никакой private ему не сможет в этом помешать. Так что в итоге всё сводится к конвенциям, а если так, то зачем нагружать язык дополнительными конструкциями.

Вот серьёзно отсутствие private и public в Python - самый наименьший недостаток
Аноним 05/11/19 Втр 01:14:49 151347255
>>1513451
Кстати, тут приводили пример, как через замыкания сделать сокрытие функций. Я ботал потом на эту тему, реально работает, то есть никаким адекватным образом ты до переменных внутри не доберёшься.

Правда на самом деле это не нужно, ни для каких реальных задач. Пионерство да и только.
Аноним 05/11/19 Втр 05:17:48 151351256
>>1513111
WxPython
PyGame
PySimpleGUI
Toga
fbs (build-system.fman.io)
Gooey
flexx
cefpython
glooey
pyglet
pyforms
pygobject
pyside
fltk
Аноним 05/11/19 Втр 05:51:40 151351957
Сап, питоноводы.
Как лучше всего реализовать работу с несколькими пользователями в боте впараше? Тхреадинг или асинкио?
Аноним 05/11/19 Втр 09:38:21 151356358
>>1513277
Компилятор на вторую строку ругается. Инвалид синтакс
Аноним 05/11/19 Втр 10:00:52 151357059
>>1512752 (OP)
Уже второй тред пишу, чтобы в шапку добавили соус под размещение листингов - https://dumpz.org
Аноним 05/11/19 Втр 10:07:38 151357160
>>1513107
Скорее всего в тексте знак применения был обрамлён пробелами, соотвественно это получилось отдельным словом, либо было где-то 2 пробела и в списке появилась пустая строка, посмотри все слова с одной буквой и меньше.
print([word for word in your_words of len(word]) < 2)
Аноним 05/11/19 Втр 10:10:37 151357361
>>1512892
Когда я вижу слово, которое похоже на говно, оно у меня сразу вызывает опасение. GVINO хороший пример такого слова.
Аноним 05/11/19 Втр 10:15:21 151357562
>>1512894
Через сборщик мусора можешь получить список все ссылок на объекты, соотвественно count адреса твоего объекта должно дать количества объектов, но лучше такой херней не заниматься, как мне кажется.
Аноним 05/11/19 Втр 10:22:53 151358263
Аноним 05/11/19 Втр 10:24:11 151358364
Вкотился, всем привет. Я тут ковыряю комсоль гедита. А там GtkTextBuffer.
Ясно, что можно исходники комсоли отредактировать, но мне почему-то кажется, что должен быть способ в уже готовом TextView заменить буфер на более продвинутый, скажем, на GtkSourceBuffer. Я ошибаюсь? Мне казалось, что я где-то видел что-то подобное.

И ещё вопрос, как в GtkTextBuffer поменять цвет выделенного текста? В GtkSourceBuffer, ясное дело, просто схему сменить, а тут чё-то я не догоняю. Пробую, например, так:

textstyle=view.get_buffer().get_style_scheme().get_style('text')
selectionstyle=view.get_buffer().get_style_scheme().get_style('selection')
textstyle.get_property('background') # #001b33
textstyle.set_property('background','#440000')
textstyle.get_property('background') # И всё равно #001b33, то есть вообще ноль изменений. А как тогда?
Аноним 05/11/19 Втр 10:28:30 151358465
Приветики, питонщики!

Помогите, пожалуйста!

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

В этой папочке хранится клиентское single-page приложение, которое писалось не мной и в нём отсутствует работа с сервером
Аноним 05/11/19 Втр 10:31:22 151358666
>>1513214
Ну епта, я ведь тебе уже писал решение:
>>1512120
x0, xn, xi = -20, 20, 3 # числа в 10 раз больше, чтобы юзать стандартный range
Замени их на нужные или вынеси переменными над генератором списка.
Аноним 05/11/19 Втр 10:41:51 151358767
>>1513237
Ему дали start, stop, step для range константами, а ему нудно переменными, а человек даже не понимает, как это изменить в коде.
Аноним 05/11/19 Втр 10:43:45 151358968
>>1513358
Это сейчас была отсылка к экстримному кодингу?
Аноним 05/11/19 Втр 10:46:29 151359169
>>1513409
Ну вообще модно сделать класс недоступным для экспорта через __init__.py файлик. Твой проблема явно высосана из пальца.
Аноним 05/11/19 Втр 10:47:19 151359270
>>1513409
Ну вообще модно сделать класс недоступным для экспорта через __init__.py файлик. Твоя проблема явно высосана из пальца.
Аноним 05/11/19 Втр 10:52:50 151359571
>>1513519
Асинк, забудь вообще про треды, если если только их не юзают либо, это уже пережиток прошлого.
Аноним 05/11/19 Втр 10:53:49 151359672
Аноним 05/11/19 Втр 10:54:54 151359773
>>1513563
Это называется интерпретатор, а не компилятор, есть принципиальное отличие между ними.
Аноним 05/11/19 Втр 11:02:24 151360474
>>1513595
Треды — пережиток прошлого? А почему?
Аноним 05/11/19 Втр 11:26:28 151361675
>>1513595
Хорошо. А как логически реализовать это через асинк? Просто я 5iq мусор и никогда до этого ботов не писал
Аноним 05/11/19 Втр 11:36:29 151362876
Аноним 05/11/19 Втр 11:38:27 151363177
>>1513604
Потому что немодно.
Аноним 05/11/19 Втр 11:44:23 151363378
>>1513631
А если без шуток? Есть ли разница между асинком и тхреадами в производительности?
Аноним 05/11/19 Втр 12:09:22 151364579
всем hi. Собственно проблема: Нужно разобраться с базами данных в питоне. Думаю что sqlite подходит, так как приложение будет локальным, но не знаю с чего начать.
Я в бд 0, поэтмоу прошу совета у знающих: Что читать и кого смотреть?
ТЗ в двух словах: Расчитывать топливо для автобусов. БД нужна для того чтобы вести учёт заправок
Аноним 05/11/19 Втр 12:13:56 151365080
>>1513645
Почитай сначала основы sql, всякие create table / select / insert / update / delete. Затем поищи туториал по sqlite а Python с примерами. Этого хватит.
Аноним 05/11/19 Втр 12:20:48 151366181
>>1513645
>sqlite
Почему ты выбрал sql db когда есть NoSql db?
Аноним 05/11/19 Втр 12:22:52 151366382
>>1513661
> NoSQL
Да это ж для тех, кто ниасилил нормальные формы!
Аноним 05/11/19 Втр 12:25:19 151366483
>>1513663
>ниасилил
Ага так вот она причина по которой google свой FireBase запилили!
Аноним 05/11/19 Втр 12:30:14 151366984
>>1513661
Я ничего не выбирал, почитал что sqlite сразу импортирован в питон, подумал что с ним проще. Я открыт для всего что связано с бд, только скажите что мне делать ибо в видосах нихуя не понимаю потому-что они ничё не разжевывают, да и нормальных не нашел пока что
Аноним 05/11/19 Втр 12:33:31 151367485
Аноним 05/11/19 Втр 12:45:16 151368286
>>1513674
И теперь вместо простенького файлика скулайта он будет ебаться с сервером монго, отлично ты посоветовал. Дома дырки в стенах тоже кувалдой сверлишь?
Аноним 05/11/19 Втр 13:57:53 151373987
Блять че за конченные. Я уже запутался какие функции и методы в этой асинкио параше щас используются. Читаю статейку/смотрю видео по асинку - используется одно, читаю доку - сори это уже deprecated, надо по-другому. И так уже дохера раз. Можно уже как-то определиться со своей хуйней и не ебать мозг вкатывальщику лишний раз.
Аноним 05/11/19 Втр 14:12:12 151374988
Аноним 05/11/19 Втр 14:13:37 151375189
image.png (4Кб, 356x127)
356x127
>>1512752 (OP)
Аноны, можете пояснить.
Почему тут сначала выполняется верхний и нижний блоки, а после уже выводятся все простые(True) числа через print, который вообще посередине стоит?

По идее же должен идти по порядку кода, т.е сначала выводить всё, а потом уже фильтровать
Аноним 05/11/19 Втр 14:37:18 151376590
>>1513751
Оно и выводит по порядку. Вложенный цикл никак не затрагивает то, что уже выведено, так как не затрагивает элементы с индексом меньше квадрата i. При этом на каждом этапе внешнего цикла число выводится только если оно не делится на все числа от 2 до i-1, а значит простое.
Аноним 05/11/19 Втр 14:39:05 151376991
>>1513583
Ну ответьте, чё вы как эти-то?
Аноним 05/11/19 Втр 14:51:09 151378392
>>1513769
Наркоман? Мы шестой тред разбираемся, как функция print работает, какие консоли, о чем ты вообще.
Аноним 05/11/19 Втр 15:03:42 151379393
Боже, как же f("{}") охуенна.
Аноним 05/11/19 Втр 15:08:23 151379994
>>1513769
Да тут все в лучшем случае ткинтер или PyQt юзают, про гтк даже не знают.
Аноним 05/11/19 Втр 15:11:13 151380395
>>1513765
>При этом на каждом этапе внешнего цикла число выводится только если оно не делится на все числа от 2 до i-1, а значит простое.

Я понимаю, что вложенный цикл заполняет False те ячейки чисел, которые не простые.

Но почему сначала выполняется вложенный цикл, а после выводится print?
Если бы сначала выводило принт, а после выполнялся цикл, то тогда бы выводило все числа(т.к. все True)
Аноним 05/11/19 Втр 15:12:43 151380496
>>1513803
>Но почему сначала выполняется вложенный цикл, а после выводится print?
Ps. когда принт стоит на строку выше
Аноним 05/11/19 Втр 15:24:05 151381397
>>1513633
Это зависит от задачи и интерпретатора питона, которым ты пользуешься.

Если в CPython на большом количестве задач, то asyncio будет быстрее. Переключение тредов ведь хаотично и затратно, плюс есть GIL, из-за которого реальной многопоточности нет.

Но есть Stackless Python, альтернативный интерпретатор, он заточен именно под потоки, там легковесные потоки с быстрым переключением, там нет проблемы GIL, ещё какой-то свой дополнительный функционал для потоков.

В CPython для асинкио ты можешь использовать uvloop, плюс в том, что прозрачно абсолютно, иногда сильно ускорить может, но иногда даже хуже работает, чем event loop по умолчанию.

В некоторых случаях можно смотреть на инструменты вроде PyPy, это ещё один интерпретатор питона, с JIT, может дать радикальное ускорение обычного питон-кода.

Пути в хайлоаде запутаны и тернисты.

Если тебе хочется именно потоков, то смотри Stackless или что-нибудь в этом роде. Я в питоне потоками не пользовался, не могу ничего сказать.
Аноним 05/11/19 Втр 15:54:03 151384098
400px-NewAnimat[...].gif (50Кб, 400x321)
400x321
>>1513803
У тебя проблема с самим алгоритмом? Вот смотри на гифку, обводится число i, потом это число выводится справа(у тебя подаётся в print), а затем уже все i*n, (n>=i) числа вычеркиваются
Аноним 05/11/19 Втр 16:01:59 151384699
image.png (190Кб, 500x427)
500x427
>>1513813
>Если в CPython на большом количестве задач, то asyncio будет быстрее.
Запихиваешь такой cpu bound задачу в корутину и думаешь, хули у тебя все висит
Аноним 05/11/19 Втр 16:13:46 1513852100
>>1513840
А, кажется допер. Получается, за первую итерацию "вычеркиваются" все числа, что не простые
Аноним 05/11/19 Втр 17:04:33 1513889101
изображение.png (126Кб, 1103x693)
1103x693
>>1513799
А у вас там с css никто не работает?
В gtk у всех экранов может быть свой «провайдер css». И в этих провайдерах может быть что-то типа

#MyWindow{
background-color: #300a24;
}
GeditWindow{
background-color: #300a24;
}
GtkButton:focused {
background-image: url("/home/user/1.png");
}

Ну то есть селекторы по классу, по идентификатору и по состоянию. А может быть и не только.
И в TextSourceView можно теги вставлять, ну совсем как в html, чтобы разные фрагменты текста разными цветами и шрифтами отображать. И во всякие тултипы тоже.
Идея-то вроде норм. Я вот и подумал, что и под всякими там вендами всё делается похоже. А что, нет?

>>1513783
Могу сказать, что работает в точности, как в баше.
Аноним 05/11/19 Втр 17:07:32 1513892102
>>1513563
Сделай отступ 4 пробела
Ты меня троллируешь, я тебя раскусил
Аноним 05/11/19 Втр 17:14:00 1513897103
>>1513803
Ты точно понимаешь, как работает цикл? Вложенный цикл выполняется не один раз. А каждый раз при выполнении внешнего цикла. Сначала выводится индекс второй ячейки и вычёркиваются все чётные числа, начиная с четырёх. Потом выводится число три и вычёркиваются все делящиеся на три, начиная с девяти. И так далее.
>>1513852
Не все, а только те, которые кратны i. И когда наименьшее из чисел, кратных i, простое — там будет True и оно будет выведено.
Тебе бы почитать про инварианты и доказательство правильности программ. Оно тут как раз просвечивает. Так сказать, взаимосвязь между программированием и математикой.
А вот ещё интересно, есть ли под петон нормальные отладчики. Я-то просто в текстовом редакторе пишу, там даже автодополнения нет. И если есть, то просто понажимай step into и посмотри watches.
Аноним 05/11/19 Втр 17:39:05 1513911104
da36919b7a34d26b.png (8Кб, 326x211)
326x211
Аноним 05/11/19 Втр 18:24:05 1513936105
>>1513911
Нет. Уже в самой второй строке ошибка
> дано действительное число x != 0
> x= int(input("Введите x"))

И дальше ты считаешь что-то не то. Почему-то 1/summ, хотя в числителе ведь не единица.

Короче переписывай.
Аноним 05/11/19 Втр 18:27:29 1513940106
>>1513936
А если не равно нулю, то нельзя ввод делать? Или как?
Аноним 05/11/19 Втр 18:30:05 1513941107
>>1513940
int - это целое число, а не действительное. Тебе надо делать float.

Цикл неправильный у тебя. Почему-то ты вычитаешь 2, а не делишь на 2, как надо. Почему-то ты не используешь i при вычислении суммы, а ведь должен.

Аноним 05/11/19 Втр 18:30:44 1513942108
>>1513911
дебил из яндекс.лицея?
Аноним 05/11/19 Втр 18:38:04 1513946109
Аноним 05/11/19 Втр 18:42:37 1513947110
>>1513941
>int - это целое число, а не действительное. Тебе надо делать float.
>
>Цикл неправильный у тебя. Почему-то ты вычитаешь 2, а не делишь на 2, как надо. Почему-то ты не используешь i при вычислении суммы, а ведь должен.
>
в числителе всегда целое число
по этому используюется Int
что б не было лишних нулей после точек
Аноним 05/11/19 Втр 18:47:24 1513955111
>>1513941
>int - это целое число, а не действительное. Тебе надо делать float.
float даже не все рациональные числа представить может, не то что действительные
Аноним 05/11/19 Втр 18:50:37 1513957112
>>1513897
Спасибо, я понял. Туплю.
С матаном неоч тоже, не знаю где и поднатаскать, но не знаю, где.
В частности, теорвер или дискретку какую-нибудь
неоч хочется залезать в геометрию и всякие школьные херульки


> инварианты и доказательство правильности программ
Гляну
Аноним 05/11/19 Втр 18:52:49 1513959113
>>1513957
>инварианты и доказательство правильности программ
Не слушай, это шизоид баззвордов нахватался.
Аноним 05/11/19 Втр 19:51:04 1513988114
Правильно ли я понимаю, что len() считает кол-во байтов в строке, и поэтому может ошибиться в подсчете "символов". Есть же, наверно, символы, которые больше байта, допустим, занимают
Аноним 05/11/19 Втр 19:56:24 1513995115
>>1513988
Нет, подсчитываются юникодные символы.
Аноним 05/11/19 Втр 20:15:08 1514001116
Аноним 05/11/19 Втр 20:31:38 1514012117
Полный нуб итт. Почему не работает вот такое дерьмо? Я ввожу 1, и срабатывает else
https://pastebin.com/ad1AiDq7
Аноним 05/11/19 Втр 20:34:05 1514014118
>>1514012
Ты сравниваешь функцию input с единицей. Конечно, это False. Перепиши так:

a = int(input('> '))
if a == 1:
...
Аноним 05/11/19 Втр 20:36:39 1514016119
>>1514014
Кстати, питонщики, где ваша хвалёная строгая типизация?
Аноним 05/11/19 Втр 20:40:36 1514019120
Аноним 05/11/19 Втр 20:49:41 1514023121
Аноним 05/11/19 Втр 20:50:36 1514024122
>>1514001
В стандартных типах len ничего не считает,
Аноним 05/11/19 Втр 21:03:14 1514032123
>>1514023
Не больше тех, кто придумывал поведение ==:

"" == 1
"" == False
"" == []
"" == {}
"" == input
1 == ""
1 == False
1 == []
1 == {}
1 == input
False == ""
False == 1
False == []
False == {}
False == input
[] == ""
[] == 1
[] == False
[] == {}
[] == input
{} == ""
{} == 1
{} == False
{} == []
{} == input
input == ""
input == 1
input == False
input == []
input == {}

И хоть одно сравнение бы кинуло TypeError. Хуй, молча False. Как в джаваскрипте каком-то.
Аноним 05/11/19 Втр 21:06:59 1514034124
>>1514032
А где-то шла речь про хвалёную строгую типизацию? Ты в питоне можешь умножить строку на число, алло, мань
Аноним 05/11/19 Втр 21:10:32 1514042125
>>1514034
Да, шла. Якобы Python > JS, потому что в нём не выполняется "1" + 1 = 11.
Умножение хотя бы не преобразует строку в число втихую. И на том спасибо.
Аноним 05/11/19 Втр 21:17:16 1514049126
image.png (56Кб, 337x413)
337x413
Так аноны нужно на джанге реализовать вот такой опросник, как это лучше сделать? Еще нужно чтобы человек мог голосовать только 1 раз.

А да и можете объяснить как мне реализовать эти полоски, чтобы они динамически заполнялись, я так понимаю нужен жс, но не знаю в какую сторону дальше копать.
Аноним 05/11/19 Втр 21:21:08 1514052127
>>1514049
Про джангу не подскажу, но полоски можно сделать через указывание ширины div. По мере заполнения подсчитываешь ширину заполненной и незаполненной части и добавляешь два дива с соответствующими ширинами.
Аноним 05/11/19 Втр 21:44:00 1514083128
изображение.png (226Кб, 1914x853)
1914x853
что со мной не так?
Аноним 05/11/19 Втр 21:47:48 1514096129
>>1514083
>что со мной не так
Самому не очевидно?
> "питонист"
> Windows
Аноним 05/11/19 Втр 21:48:15 1514098130
Аноним 05/11/19 Втр 21:55:41 1514110131
>>1514042
Зачем вообще сравнивать эти языки, если они под разные задачи. Это ведь из разряда РЯЯЯЯ МАЯ ИГРУШКА ЛУЧШЕЕЕ А ВАША ГАВНОО
Аноним 05/11/19 Втр 21:56:58 1514113132
>>1514098
может тебя опустим епта?
Аноним 05/11/19 Втр 22:03:08 1514119133
>>1514113
мать твою опустим)))))
Аноним 05/11/19 Втр 22:08:31 1514123134
>>1514110
Вот бы ещё все понимали это. А то синдром утёнка слишком силён.
Аноним 05/11/19 Втр 22:26:23 1514135135
>>1514123
Не знал, что для этой модели поведения есть название. Теперь знаю больше, спосиба
Аноним 05/11/19 Втр 22:44:59 1514156136
Аноним 06/11/19 Срд 06:44:53 1514366137
>>1514042
>>1514042
Ну да, питоновская сильная типизация мне, например, больше нравится, чем то, что в js. Я несколько раз там проебывался так, как в питоне проебаться невозможно. Но в выборе языка строгость типизации это не особо важный момент, иначе я бы сейчас так и учил дальше питон, а не js.
Аноним 06/11/19 Срд 12:01:44 1514440138
Ребят, всем привет, такой вопрос:
В общем, есть функция, в которой выдается рандомный возраст (ну то есть случайное число от 18 до 30) и на этот возраст нужно ввести инпут, на который тоже придется два условия (ну то есть будет выбор и потом комментарии выбора верный он или нет)
Собственно суть вопроса в том, что количество случайных возрастов тоже случайно. Есть ли способ вызывать эту функцию N раз одну за одной?
Аноним 06/11/19 Срд 12:18:05 1514449139
>>1514440
Например вызывать ее N раз в цикле, где окончание цикла = твоему N(если начать с 0)?
Аноним 06/11/19 Срд 12:25:26 1514452140
>>1514449
N - рандомное число, которое меня мало интересует. Главное, чтоб он вызвал ее эти N раз.
Объясню, что вообще придумал.
Это текстовая игра, где баба выбирает себе мужиков. Приходят к ней мужики от 10 до 80 лет. Она принимает только от 18 до 30 лет. И N - это то, сколько мужиков придёт.
Ну и в случае неверного выбора мужика - break.
Аноним 06/11/19 Срд 13:12:24 1514482141
>>1514452
Лучше не описывать геймдизайнерские идеи в точности потому что их тогда легко умыкнуть.
Аноним 06/11/19 Срд 13:17:44 1514487142
>>1514482
Охуеть верх геймдизайнерской мысли, всё, пошёл основывать Python Entertainment ©®™, будем пилить десятистрочные игры на питоне и пилить миллиарды, идеи будем брать с двача
Аноним 06/11/19 Срд 13:18:00 1514488143
>>1514482
Хочешь сказать я проебал свои 300к/наносек?
Аноним 06/11/19 Срд 13:25:27 1514500144
>>1514488
Всё, что попало на двач, обратно не раздвачить.
Аноним 06/11/19 Срд 13:27:00 1514501145
>>1514500
А если так?
import dvach

dvach.razdvachit(idea)
Аноним 06/11/19 Срд 13:33:28 1514509146
>>1514501
module 'dvach' has no attribute 'razdvachit'
Аноним 06/11/19 Срд 14:18:03 1514544147
>>1514488
Но ведь ты же не собираешься делать визуальную новеллу. Так что нет.
Аноним 06/11/19 Срд 14:23:03 1514545148
Анончик-питончик. Подскажи, какая самая лучшая IDE (субъективно, само-собой) для пайтона.
Я хеллоуворлдщик-фибоначчист.
Пробовал АЙДЛ, сейчас пердолюсь в ВИЖУАЛ СТУИДО.
Аноним 06/11/19 Срд 14:51:35 1514559149
Аноним 06/11/19 Срд 15:01:52 1514566150
>>1514545
Pycharm.

> idle
Ебать ты упоротый.
Аноним 06/11/19 Срд 15:16:19 1514574151
Screen Shot 201[...].png (45Кб, 596x376)
596x376
Screen Shot 201[...].png (14Кб, 176x334)
176x334
>>1514452
Мне похуй на твою дальнейшую логику, вот я тебе привел пример программы, которая генерит Н раз число.
Аноним 06/11/19 Срд 15:23:40 1514584152
Я задаю Z=numpy.random.normal()
Затем при прогоне диапазонов
for i in range(M):
S[i + 1] =S+ S np.random.normal()

for i in range(M):
S[i + 1] = S+S
Z

Выдают сильно разные результаты усредненно за много прогонов. Приравнивание Z=numpy.random.normal() меняет как-то вывод numpy.random.normal()?
Надеюсь понятно. Весь код громоздкий.
Аноним 06/11/19 Срд 15:26:19 1514587153
Аноним 06/11/19 Срд 15:27:06 1514589154
Аноним 06/11/19 Срд 15:27:29 1514590155
>>1514566
А зачем pycharm хелоувордчику? Sublime все же куда легче будет. Ничего лишнего.
Аноним 06/11/19 Срд 15:28:03 1514591156
Аноним 06/11/19 Срд 15:32:56 1514596157
Аноним 06/11/19 Срд 15:46:15 1514608158
Аноним 06/11/19 Срд 16:23:12 1514641159
>>1514608
Охуенная иде, плюсую.
Аноним 06/11/19 Срд 16:29:10 1514645160
>>1514641
Слышу нотки сарказма в твоем сообщении, но таки да, после легкой обработки напильником вим становится иде.
Аноним 06/11/19 Срд 17:33:41 1514697161
Аноним 06/11/19 Срд 17:35:24 1514698162
maxresdefault.jpg (148Кб, 1280x720)
1280x720
Есть на примете читшит по flask/django типо как организовывать структуру проекта, типо диаграммы связей?
Аноним 06/11/19 Срд 17:37:17 1514699163
>>1514698
Ты про базу или про файлы/папки?
Аноним 06/11/19 Срд 18:01:35 1514712164
>>1514699
Скорее про файлы/директории, читал где-то шо под каждый проект индивидуальный подход, но схемы полюбому где-то можно посмотреть, как это делают люди с опытом
Аноним 06/11/19 Срд 18:14:48 1514722165
Снимок экрана о[...].png (82Кб, 1106x617)
1106x617
Аноны спасите, вот модель моя в джанге, она сделана для опросника в котором участвует модель employee, нужно сделать чтобы голосовать сотрудник мог только 1 раз как это сделать?
Аноним 06/11/19 Срд 18:59:26 1514750166
>>1512752 (OP)
Сап
хочу переименовать картинки в папке сохраняя тот же порядок (т.е первая картинка будет картинка1, вторая картинка2 и тд)
нашел os.rename, но он переименовывает в хз каком порядке
то есть не по алфавиту, а видимо рандом, например начинает с середины папки
как можно переименовать картинки не меняя их порядок?
Аноним 06/11/19 Срд 20:05:56 1514816167
>>1514722
Ну логично что тебе нужна промежуточная таблица в которой будут храниться пары: сотрудник-вопрос. Если запись есть - запрещаешь голосовать. Изи.
Аноним 06/11/19 Срд 20:10:30 1514821168
>>1514750
Порядок действий.
1 Определиться в каком порядке тебе нужны файлы: не бывает "того же" порядка. Есть сортировка по имени, размеру, дате создания, дате изменения.
2 Получить список файлов.
3 Получить ключ для сортировки (на основе выбора из п.1)
4 Сортировать по использованному ключу.
5 Переименовывать файлы.
Аноним 06/11/19 Срд 21:35:35 1514942169
>>1514816
Можешь на примере показать как должна модель выглядеть для такой таблицы и как мне записывать туда данные? Типо после того как пользователь кликнет на ответ и проголосует, тогда добавится запись?
Аноним 06/11/19 Срд 21:47:51 1514948170
Посоветуйте годных курсов на Coursera по сабжу. Желательно из числа тех, которые вы сами прошли и твёрдо можете рекомендовать.
Аноним 06/11/19 Срд 21:49:55 1514950171
Скиньте добротную книгу по tkinter для python 3. Ничего найти дельного не могу
Аноним 06/11/19 Срд 22:13:40 1514960172
>>1514950
А зачем книга то. Ставишь себе задачу - гуглишь свойства элементов - ???? - вы восхитительны.
Аноним 06/11/19 Срд 22:25:19 1514962173
Ну и как на этом писать? Обмазался ml, скачал проект на c# все понятно, с интерфейсом, чтобы обучить написано скачать скрипт на питоне, ну и хули тут блядь 100 каких-то файлов какие-то папки, баши, никаких интерфейсов какие-то ебанутые инструкции как запускать на 20 страниц, где блядь приделать формочку чтобы подцепить данные было бы быстрее.
Аноним 06/11/19 Срд 22:35:40 1514965174
>>1514962
Консоль быстрее, подрастешь поймешь
Аноним 06/11/19 Срд 22:37:23 1514968175
>>1514962
А ты как думал? В питоне всё серьёзно.
Аноним 06/11/19 Срд 23:55:13 1515036176
Есть вариант распараллелить выполнение кода в 2 строчки? Или вообще на видюху повесить? Обычный цикл for i in range уже час считается в нем конечно еще несколько таких циклов, но ничего сложного.
Видос из шапки не особо полезен, т.к. я нуб.
Аноним 07/11/19 Чтв 00:13:14 1515045177
>>1514960
Дааа, так уже и начал делать. Затем, когда накатал програмку (только что, после создания поста начал писать), встал неочевидный вопрос:
Аноны, а какого черта после компиляции с ткинтером, я запускаю программку свою (выдает почему-то консоль сначала), и прежде, чем выдать интерфейс основной, он думает секунды 3? Мне это вообще не нравится. Не понимаю, почему так медленно. Там кода всего на 40 строк примерно.
Аноним 07/11/19 Чтв 00:39:39 1515064178
>>1515045
> выдает почему-то консоль сначала
Если pyinstaller, то собирай с флагом -windowed, или как там его
> и прежде, чем выдать интерфейс основной, он думает секунды 3?
> Short answer, a complete environment for your program needs to be extracted and written to a temporary folder.
Аноним 07/11/19 Чтв 00:40:40 1515065179
>>1515064
>Short answer, a complete environment for your program needs to be extracted and written to a temporary folder.
Это как?
Аноним 07/11/19 Чтв 00:44:40 1515067180
Аноним 07/11/19 Чтв 01:37:48 1515093181
>>1515036
Если код короткий, попробуй PyPy использовать, он в чисто питоновский код в циклах может в десятки раз иногда разогнать.

Надо смотреть на твой код. Наверняка можно оптимизировать.
Аноним 07/11/19 Чтв 01:39:48 1515094182
>>1515067
Ниче не понял пока что из этих доков, рубит меня, потому и спросил. Завтра еще гляну их
Аноним 07/11/19 Чтв 01:51:08 1515100183
>>1514821
cпс, звучит трудненько)
я написал к тому, что os.rename переименовывает не по алфовитному порядку
решение я придумал проще - написал регулярку
Аноним 07/11/19 Чтв 01:53:46 1515103184
Всем кулити, есть ли в pycharm возможность отладки по останове как в Visual studio? единственное, что смущает перехода
Аноним 07/11/19 Чтв 02:09:43 1515110185
>>1515093
Оу, это по сути новый питон ставить надо. Пока не подойдет, но возьму на заметку.
Аноним 07/11/19 Чтв 02:21:00 1515113186
Аноним 07/11/19 Чтв 02:25:44 1515115187
>>1515113
Придется за ней всю анаконду тащить. Как она в плане опенсорсных дров для видюхи на линуксе?
Аноним 07/11/19 Чтв 02:32:58 1515117188
>>1515115
Не думаю что cuda может работать на попенсорце, но numba и cpu поддерживает. И, в плане cpu, pip install numba сработает. Насчет cuda не пробовал
Аноним 07/11/19 Чтв 03:14:15 1515121189
>>1515036
Код показывай, если у тебя число-дробилка то можно улучшать код и улучшать.
У того же scipy есть куча методов и параметров.
Кроме того что предложили аноны, можно попробовать ещё и на сишном пистоне написать часть логики.
Аноним 07/11/19 Чтв 06:49:00 1515150190
>>1512752 (OP)
Аноны, знает кто что про Практикум от яндекса? Это такая же платная шляпа как и курсы от гикбраинс и скиллбокс?
Аноним 07/11/19 Чтв 07:11:46 1515153191
chou.jpg (37Кб, 857x593)
857x593
chotto.jpg (46Кб, 857x597)
857x597
>>1515150
Посмотрел уже. Есть два бесплатных вводных курса по пистону, может кому интересно будет.
Аноним 07/11/19 Чтв 10:03:31 1515200192
Сап,петоначь
Где можно найти человека сделать простую работу?

ТЗ примерно такое: спарсить всех сидящих на этом канале,кроме админа,и разослать им в пм нужное сообщение.Все это в IRC


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

Может кто тут сделает?Кину немного беткойнов
Аноним 07/11/19 Чтв 14:25:39 1515367193
какие модули надо учить для создания спам ботов по форумам,сайтам??
Аноним 07/11/19 Чтв 14:28:26 1515371194
Не знаю куда писать, попробую тут.
Есть серв с зоопарком скриптов на питоне. Они рождаются, плодятся, умирают. Живут своей жизнью, короче.
Нужен кто-то типа супервайзера, который по REST апи будет возвращать список живых процессов, порождать и убивать процессы.
Какой-нибудь фреймфорк или готовый сервис.
Аноним 07/11/19 Чтв 14:34:41 1515379195
вфывфывфывфывфы[...].png (16Кб, 1359x641)
1359x641
Пс, а на питоне есть что-нибудь для рисования?
Нужно сделать координатную сетку для листа А4, с двумя осями, а на ней, с отсчетом от центра поставить заданные точки и сохранть это все дело в формате жпг или пнг, чтобы потом распечатать
Ну грубо говоря график нарисовать
Аноним 07/11/19 Чтв 14:35:38 1515381196
Аноним 07/11/19 Чтв 14:36:10 1515382197
Аноним 07/11/19 Чтв 14:37:08 1515383198
>>1515379
чего именно просто рисовать или игры делать?
Аноним 07/11/19 Чтв 14:42:47 1515385199
>>1514545
пачарм топ на сам мало что запомнишь, юзай атом...но там input() чет не работает по дефолту
Аноним 07/11/19 Чтв 15:06:37 1515409200
>>1515367
Selenium/requests/bs4/captcha services
Аноним 07/11/19 Чтв 15:08:01 1515410201
>>1515371
Кто плодит эти скрипты? Я бы подключался к этой хуйне и вытгивал данные оттуда.
Для рест апи подойдёт любой пистоновский небольшой фреймворк типа flask/bottle/pyramid
Аноним 07/11/19 Чтв 15:08:55 1515412202
>>1515379
Для графиков матплотлиб, он и рисует и сохраняет ну и распечатать смогёт
Аноним 07/11/19 Чтв 15:25:17 1515429203
аноны. нужна аша помощь. щас прохожу курс по питону и там такая задача.
Жуки не любят находиться рядом друг с другом и каждый прячется под отдельным камнем и старается выбирать камни, максимально удаленные от соседей. Так же жуки любят находится максимально далеко от края. Как только жук сел за камень, он более не перемещается. Всего в линии лежат X камней. И туда последовательно бежит прятаться Y жуков. Найти сколько свободных камней будет слева и справа от последнего жука.
X может быть до 4 млрд.
Примеры

X=8, Y=1 – ответ 3,4

X=8, Y=2 – ответ 1,2

X=8, Y=3 – ответ 1,1

сразу говорю - в гугле какая то хуета подзалупная. в каком направлении копать то ?
Аноним 07/11/19 Чтв 18:37:27 1515636204
>>1515383
>>1515412
Просто рисовать
Спасибо, аниксоры, почекаю матешу
Аноним 07/11/19 Чтв 19:23:53 1515685205
Ахуенно устроился на работку, со вторника работаю, вроде нормально было, только меня сразу посадили за проект и дали боевую задачу, которую я всю неделю делаю и не знаю когда доделаю, вот сегодня сказали, что 2 программиста, наш сеньор и миддл увольняются, в итоге в конторе останусь я и еще один миддл, у меня спросили 'тебя такие перспективы не пугают?' я подумал про себя КОНЕЧНО БЛЯТЬ ПУГАЮТ, сказал что да немного, но это полный пиздец сказали что теперь я должен там поддерживать проект, но я в душе не ебу че там и как делать, мне конечно будут из головного офиса который в дс помогать сам я из региона но я видел этот проект он пиздец огромный и я даже 20% не понимаю че там происходит вообще, хотя сказали мне что если у меня получиться влиться то 'будет очень быстрый карьерный рост', но уверен что обосрусь, видимо вылечу оттуда уже на след неделе, надеюсь хоть за эти дни какие-нибудь копейки заплатят, пиздос.
Аноним 07/11/19 Чтв 19:59:32 1515726206
ima.jpg (12Кб, 225x225)
225x225
В прошлом тредике порекомендовали pythontutor для начала.
Прорешал оттуда задачки, что дальше?
Аноним 07/11/19 Чтв 20:22:02 1515752207
>>1515412
Посмотрел матлиб, он сложный пиздец, есть что-нибудь попроще?
Я не погромист, питон использую чисто автоматизировать некоторую хуйню по учебе
Аноним 07/11/19 Чтв 20:24:31 1515756208
>>1515752
Он не сложный, просто начни с простого, тебе этого и хватит в принципе.
Нарисовать то что у тебя можно в строк 10 кода, где 2 строки на импорт и 2 на финальное отображение.
Аноним 07/11/19 Чтв 20:31:49 1515761209
>>1515752
Он несложный, просто мощный. Если тебе нужны простые вещи, они делаются просто. Для начала запоминаешь две команды: from matplolib import pyplot as plt и plt.plot(x, y)
Проще только матлаб из которого этот pyplot слизан
Аноним 07/11/19 Чтв 21:10:54 1515781210
>>1515756
А можно наводки хоть какие-набудь?
Типо ок, везде написано, что все просто, но все туторы которые я нахожу они про обычные графики функций, а по запросу в гугл "crosshair" экей перекрестие выдает хуйню, где куча строк кода
Аноним 07/11/19 Чтв 21:23:55 1515790211
>>1515781
Если ты в интерпретаторе, делаешь plt.ion(), чтобы графики показывались моментально
В скрипте не делаешь plt.ion(), а вместо этого когда закончишь делаешь plt.show()

from matplotlib import pyplot as plt
plt.plot([1,2,3],[4,5,6],'+')#красный крестик будет r+
# или plt.scatter([1,2,3],[4,5,6]), вообще это называется scatter plot по-английски
plt.show()
plt.savefig('yoba.png')
Аноним 07/11/19 Чтв 21:40:41 1515808212
image.png (28Кб, 650x558)
650x558
>>1515781
Ну допустим так.
Это всё можно допилить до адекватного состония.
Аноним 07/11/19 Чтв 21:41:14 1515811213
Аноним 07/11/19 Чтв 22:54:04 1515900214
Capture.PNG (66Кб, 880x262)
880x262
аноны, поясните что это такое? гуглил и в англ нете и в нашем ничего не понял кроме того что это популярный шифр среди школоты и дотеров.
Аноним 07/11/19 Чтв 22:59:20 1515905215
>>1515900
Всё спасибо, не нужно. понял что это такое.
Аноним 07/11/19 Чтв 23:01:13 1515907216
>>1515900
популярное коверканье слов кулхацкеров, родом минимум из 90х, частично используется например в мессенджерах
Аноним 07/11/19 Чтв 23:03:23 1515913217
a.png (5Кб, 160x164)
160x164
Аноним 07/11/19 Чтв 23:05:16 1515915218
>>1515913
>>1515907
да читал я. даже охуел когда эти статьи читал и немог поверить что авторы учебника такую хуету могли в задание засунуть.
Аноним 07/11/19 Чтв 23:10:41 1515920219
>>1514083
Это все ебаные пути виндовские, где один обратный слеш экранирует другой, ты попробуй выпринтить свой путь. Юзай либо нормальный юниксовый прямой слэш, либо делай строку сырой- r”raw_str”, либо os.path.join(“C:”, ”ebal”, “ya”, “vashego”, “abu”, “v”, “rot”)
Аноним 07/11/19 Чтв 23:20:13 1515925220
>>1514821
Вот ты и спалился разбiник, дата создания есть только в винде, в юникс подобных, только дата изменения.
Аноним 07/11/19 Чтв 23:20:18 1515926221
>>1515913
>>1515907
поясните, ещё, пожалуйста. а что там в задании требуют? что за словарь? никакого словаря у меня там не было, они имеют в виду {} вот этот словарь чтоли? и что он возвращать должен? любое слово? или по буквам конвертировать. нихуя блдяь не понимаю, нужно же блядь этот быдлошифр туда впиздошить было.
Аноним 07/11/19 Чтв 23:22:43 1515932222
>>1515100
А в чем собственно проблема отсортировать список с именами файлов, которые получены через os.listdir(path), если тебе нужна сортировка именно по именам?
Аноним 07/11/19 Чтв 23:25:04 1515933223
>>1514960
Ставишь себе задачу. Находишь решение на стековерфлоу. Копипастишь код. Ты восхитителен.
Аноним 07/11/19 Чтв 23:26:21 1515934224
>>1514960
это пиздец будет долго и заёбно, с книгой проще ибо там сперва дают все свойства потому же задания по теме. очевидно что процесс обучения ускоряется с книгой в разы
Аноним 07/11/19 Чтв 23:35:46 1515942225
>>1515926
А что в первых двух пунктах? Или вообще до них?
Аноним 08/11/19 Птн 00:14:52 1515956226
>>1515685
Была похожая хуйня
Недели 2 ходил и думал о том, чтобы написать заявление раньше, чем меня пнут лол

Теперь уже 1.5 года на поддержки этого говна.
Начинает даже нравится
Аноним 08/11/19 Птн 00:26:33 1515962227
Untitled.png (28Кб, 1040x295)
1040x295
>>1515942
задачи такие же. там ничего интересного. книга какая-то странанная уж не первые раз такие задания попадаются непонятные то они всунут задания из раздела который впереди и который я ещё не проходил
Аноним 08/11/19 Птн 00:50:26 1515973228
>>1515932
еще была проблема в том, что при переименовании через os.rename часть файлов загадочным образом исчезает

в общем знатно я поебался с этой казалось бы простой хуйней
Аноним 08/11/19 Птн 00:54:24 1515974229
>>1515973
Как справился с этой бедой?
Аноним 08/11/19 Птн 01:00:50 1515976230
>>1515962
Ну тогда просто скипай. В книгах бывают неточности, но если их многовато, то лучше уж взять другую.
Аноним 08/11/19 Птн 01:02:14 1515977231
>>1515976
ну я просто взял за словарь что-то похожее на него из другой главны и буду программу писать щас. ну это лучше чем в прошлый раз когда они затолкали в один раздел задачи из другого который впереди я всё это гуглил вручную охуевая
Аноним 08/11/19 Птн 01:12:09 1515980232
>>1515976
меня просто возмущает тот факт что теперь нужно разбираться как это говношифор устроен. ELITE блядь, так и повеяло 15 летними выблядками-хакирами из онлайн игр.
Аноним 08/11/19 Птн 01:21:09 1515981233
>>1515980
Изначально-то это было частью хакерской культуры, это уж потом школота всё опошлила.

Можно взять задачу поинтереснее, например, шифр Цезаря. Пользы будет больше.
Аноним 08/11/19 Птн 01:28:12 1515986234
>>1515981
поздно. я уже половину этого вырвиглазного альфабета в словарь перетащил.
Аноним 08/11/19 Птн 01:52:28 1516000235
>>1515973
пытался выводить названия файлов, понять почему и куда они пропадают, потом махнул рукой и переписал на перле.
Аноним 08/11/19 Птн 01:52:48 1516001236
Аноним 08/11/19 Птн 02:08:29 1516004237
норм. написал таки этот переводчик с языка школьника.
Аноним 08/11/19 Птн 02:26:42 1516009238
Capture.PNG (13Кб, 662x300)
662x300
аноны, оцените говнокод. можно ли что-то здесь оптимизировать и покороче написать.

>>1515900 вот это задание сделал.
Аноним 08/11/19 Птн 04:03:54 1516015239
image.png (5Кб, 704x46)
704x46
>>1516009
>можно ли что-то здесь оптимизировать и покороче написать
Можно.
Аноним 08/11/19 Птн 05:27:48 1516022240
image.png (8Кб, 489x65)
489x65
Аноним 08/11/19 Птн 07:04:57 1516031241
>>1515956
Ну ты наверно еще что-то умел, а у меня большие проблемы даже закрыть вроде простой таск, а теперь весь проект вешают на меня.
Аноним 08/11/19 Птн 07:27:22 1516032242
>>1516009
Нахуя тебе короче? Сейчас это прекрасно читаемый код с понятнейшей логикой.

А вот эти примеры (>>1516022) (>>1516015) - уебанство.
Аноним 08/11/19 Птн 07:34:21 1516034243
>>1516032
использовать вложенные циклы с посимвольным сравнением
>прекрасно читаемый код с понятнейшей логикой

использовать функционал стандартной библиотеки на полную
>уебанство
/_0
Аноним 08/11/19 Птн 08:08:58 1516046244
>>1516034
Ну давай через аналогии, раз ты сам не чувствуешь - если твой код походит на перлохудожества, то он плохо читается.

Можешь ещё попытаться словами объяснить что на каждой из картинок происходит. А потом подумать почему те две картинки вообще нужно кому-то объяснять.

Аноним 08/11/19 Птн 08:24:49 1516052245
>>1516034
if ... new_line += t[letter] заменить на t.get(letter, letter), так будет в 2 раза меньше поиска в словаре.
Внутренний цикл можно заменить на списочное выражение без ущерба читаемости.
readlines не требует '\n' . Получится

for line in r.readlines():
new_line += [t.get(letter, letter) for letter in line]

Как-то так
Аноним 08/11/19 Птн 08:40:18 1516059246
А, не увидил, что у тебя else нет почему-то. Тогда t.get(letter, '')
Аноним 08/11/19 Птн 09:45:16 1516088247
Не хочу писать в МВП, поэтому здесь спрошу. Если меня позвали на тестовый рабочий день, это значит, я там полный день сидеть буду или нет? Знаю, что был как минимум один анон, который через это проходил. Тапки не кидайте, ранее нигде не работал, потому и спрашиваю.
Аноним 08/11/19 Птн 10:08:58 1516104248
Аноним 08/11/19 Птн 10:22:46 1516107249
Аноним 08/11/19 Птн 10:25:14 1516108250
>>1514052
Спасибо за ответ, с версткой я полностью разобрался, но вот как простроить модели, чтобы голосовать юзер мог только один раз я никак не могу, вот бы мне кто-нибудь разжевал это.
Аноним 08/11/19 Птн 10:31:25 1516116251
>>1516009
1) когда ты открываешь файл на чтение с with и получаешь указатель, тебе не нужно делать readline, итерация по файлу и так даёт строки.
2) Чтобы получить список в строке ты можешь примереть лист на строчку, при этом применив к ней strip перед этим, чтобы обрамить строку с двух сторон, убрав всякое говно типа переноса строк.
3) нет смысла делать проверку на вхождение в твоём случаем, достаточно сделать get с дефолтным ‘’.
Аноним 08/11/19 Птн 10:36:35 1516118252
>>1516032
Тоже не вполне понимаю целесообразность, снижать количество строк любой ценой очевидно неверный путь. Да ты сэкономил пару строчек, но получилось какое-то забодробительно ненаглядное предложение, и пока оно одно другое ещё ничего, а если их сотни то всё туши свет, код будет напоминать талмуд.
Аноним 08/11/19 Птн 11:25:19 1516134253
>>1516108
Или кинули бы туториал где делают это, был бы очень признателен.
Аноним 08/11/19 Птн 11:29:01 1516136254
2e1lxv.jpg (25Кб, 645x729)
645x729
хачу многа атак и дефенс
Аноним 08/11/19 Птн 11:30:05 1516139255
>>1516136
ой не туда серанул)
Аноним 08/11/19 Птн 12:10:42 1516159256
>>1515685
ну хоть работаешь, анон. я за 4 месяца поиска работки так ниче и не нашел кроме 5 тестовых. в результате чего теперь вообще ссусь слать свое резюме тк думаю что отправят тестовое на которое я проебу дохуя времени а мне ответят извините тестовое выполнено конечно хорошо но на недостаточном уровне. такие дела. да и вообще думаю яп менять тк в моем зажопье нет вакансий на джунов-питонщиков. везде мидлы и сеньоры только со знанием 2.7 обязательно
Аноним 08/11/19 Птн 13:56:34 1516242257
>>1516032
спасибо, анон, но я вообще-то имел ввиду как избавиться от for in for то есть цикла в цикле, т.к. я знаю что это плохо, но ничего иного придумать не могу, поэтому и решил посмотреть на решения других анонов.

>>1516116
1. да я так и думал, вот только недавно с другим погромистом общался он сказал, нет ставь readline.
спасибо, за советы, понял.

>>1516015
>>1516022
спасибо, а куда вы словарь дели с алфитом как у меня?
Аноним 08/11/19 Птн 14:20:50 1516260258
image.png (19Кб, 1226x118)
1226x118
>>1516242
>куда вы словарь дели
он выше
Аноним 08/11/19 Птн 14:21:53 1516261259
>>1516260
понял, спасибо. а y это что такое?
Аноним 08/11/19 Птн 14:29:37 1516267260
>>1516260
Это ты тот пидорас, что шифрует сообщения для слепого анона из Б?
Аноним 08/11/19 Птн 15:34:08 1516312261
Аноним 08/11/19 Птн 16:45:43 1516343262
>>1515726
Пока нашёл курс про питон более обстоятельный у линуксоидов, а так же гайды по работе с гуями и объектно ориентированное программирование.
Планирую пока написать пару калькуляторов статов для игр и ещё что-нибудь не большое. В принципе бота написать было бы неплохо тоже, полезная штука.
Всё правильно делаю?
Аноним 08/11/19 Птн 17:02:55 1516350263
>>1516343
Теперь попробуй не спрашивать у нас: "А как какать?", и попробуй сам учиться.
Аноним 08/11/19 Птн 17:26:30 1516358264
>>1516350
Какие-то вы бесполезные...
Аноним 08/11/19 Птн 17:36:09 1516363265
Может кто пояснить за удаленку в которой не требуют опыт? Вот вижу кучу вакансий верстальщиков пхп и питон джунов на удаленку с хорошей зп, ни образования, ни опыта не надо, я вот думаю попробовать, но выглядит это все как чистой воды наеб, возьмут они меня такого новичка, дадут таск я его закрою, мне скажут молодец иди нахуй и все.
Аноним 08/11/19 Птн 17:54:18 1516387266
>>1513959
А ты читал? Нет? Ну помолчи тогда.
Аноним 08/11/19 Птн 18:00:18 1516394267
image.png (292Кб, 558x547)
558x547
>>1516363
>нет опыта
>закрою таск
>скажут молодец
Аноним 08/11/19 Птн 18:00:36 1516395268
>>1514083
Иногда помогает ставить r перед кавычками. Но не в случае завершающего обратного слеша.
Аноним 08/11/19 Птн 18:02:20 1516399269
>>1516363
В целом примерно так и есть, причём далеко не только в программировании. Ищут лоха он делает работу, потом его посылают.
Аноним 08/11/19 Птн 18:23:45 1516416270
Есть бинарный файл, нужно преобразовать его в С-подобный массив вида 0x01,0x42 и т. д. и записать в другой файл
Аноним 08/11/19 Птн 18:34:49 1516428271
Аноним 08/11/19 Птн 18:52:20 1516439272
>>1516416
with open("file.bin", mode="rb") as fin:
__bs = fin.read() # массив с байтами
with open("file2.bin", mode="wb") as fout:
__fout.write(bs)
Аноним 08/11/19 Птн 19:14:49 1516455273
Аноним 08/11/19 Птн 19:15:17 1516456274
>>1516399
Ну и че прям все эти вакансии наебка на лоха?
Аноним 08/11/19 Птн 19:18:14 1516460275
>>1516394
Так а нахуй тогда эти вакансии висят, если джун без опыта все равно ни на что не способен?
Аноним 08/11/19 Птн 19:20:13 1516463276
image.png (160Кб, 415x500)
415x500
>>1516456
Давайте же и мы вместо кодинга будем заставлять лохов бесплатно работать.
Аноним 08/11/19 Птн 20:00:47 1516481277
>>1516032
Как же си-бляди заебали, когда же вы поймёте, что пайтоник стайл - коротко и просто, если ты не понимаешь и не можешь прочитать то, на что сослался, то пиздуй уже в свой си или яву, где нужно зерова туча строк для простейших операций вроде составления списка строк из файла.
Аноним 08/11/19 Птн 20:05:28 1516482278
>>1516242
single_line = “”.join([your_dict.get(ch, ch) for ch in list(inp_line.strip()])

В твое случае вторым аргументом должна быть пуста строка, но это очевидно ошибка, поскольку это уничтожит все пробелы.
Аноним 08/11/19 Птн 20:11:56 1516485279
>>1516481
Чувак, да будет тебе известно, даже использование map уже не Pythonic-way, ты Zen of Python вообще видел?

Вариант с maketrans нормальный, его бы ещё немного доработать и хорошо будет. Хотя использование readlines в этом случае уже многое о вашем уровне
Аноним 08/11/19 Птн 20:12:40 1516486280
>>1516481
Безотносительно примеров выше. Питон хорош тем, что читается почти как текст на английском, а всякие скрипт киддисы пишут в стиле "мам смотри, я умею в генераторы" и запихивают все в одну строку просто потому что могут. Питон не про производительность, здесь можно делать упор на читабельность.
МакКонел как раз про это писал, что можно программировать на языке, а можно с использованием языка, и второе лучше. Ньюфаги возводят удобные фишки питона в абсолют.
Аноним 08/11/19 Птн 20:14:37 1516489281
Пиздец, питон мешает питонщикам превратить себя в перл, но нет, надо продолжать упорствовать.
Аноним 08/11/19 Птн 20:33:12 1516512282
>>1516481
Вот такие однострочники >>1516015 это нихуя не просто. Если нужно выбирать между понятностью кода и маленьким объемом, то лучше выбрать многострочник, который сразу понятен.
Олсо, в каком-нибудь лиспе тоже можно писать все в одну строку, но никто так не делает, потому что читать такой код невозможно. То, что уменьшение количества строк дает какое-то преимущество -- это иллюзия. Если уж несколько строчек вместо одной тебе так мозолят глаза, сделай ебаный фолд.
Аноним 08/11/19 Птн 22:52:50 1516595283
Аноним 09/11/19 Суб 00:27:58 1516674284
>>> L = type('L',(list,),{'reverse': lambda self: super(list,self).reverse()[:2]})
>>> l = L((1,2,3,4))
>>> l.reverse()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
AttributeError: 'super' object has no attribute 'reverse'


WHY NOT?
Аноним 09/11/19 Суб 00:36:42 1516685285
Аноним 09/11/19 Суб 00:47:43 1516692286
keks.PNG (26Кб, 737x753)
737x753
Аноним 09/11/19 Суб 12:47:44 1516819287
>>1512752 (OP)
Сап питонач, подумал я недавно, что было бы годно закинуть функцию print в другой поток, т.к. операции вывода на экран или записи на диск отнимают прилично ресурсов у ЦП
Вот у нас есть функция, которая постоянно проводит вычислительные операции, нагружающие ЦП и периодически должна выводить какую-то информацию в стандартный поток sys.stdout, либо во внешний файл. Зачем постоянно прерывать вычисления, чтоб функция print что-то вывела? Не легче ли заставить ее выполняться параллельно?

Но тут возникают проблемы. Все ж мы знаем что "параллельность" в Питоне не так уж проста из-за GIL. Я пробовал создавать еще один thread, который вытаскивает из очереди Queue данные, закинутые туда основной функцией и выводит их - производительность только упала. Из вариантов: запилить асинхронную функцию print на основе asyncio, но я не шарю в асинхронках. Второй вариант - запилить второй процесс с помощью multiprocessing, но это "дорогое" удовольствие и не хотелось бы скатываться до этого
Аноним 09/11/19 Суб 13:54:50 1516849288
Аноним 09/11/19 Суб 15:22:38 1516900289
>>1516819
Выбери другой язык программирования.
Аноним 09/11/19 Суб 15:27:54 1516907290
>>1516900
Уверен, что засунуть print в асинхронку не так уж сложно (и кроме этого и охуительного совета про смену языка еще какие-то идеи есть?)
Аноним 09/11/19 Суб 15:42:18 1516914291
>>1516907
>еще какие-то идеи
1. Не страдать хуйней (числодробилка на питоне, вообще охуеть).
2. Ну или поискать готовый асинхронный логгер, или написать свой.
Аноним 09/11/19 Суб 16:02:23 1516935292
136.jpg (36Кб, 425x600)
425x600
Вкатываюсь в скрапинг

BeautifulSoup + lxml + Selenium+phantomjs

Связка актуальна?
lxml сильно быстрее BS? Когда эту библиотеку имеет смысл использовать?
Какие еще технологии, материалы добавить к изучению?

Заранее спасибо
Аноним 09/11/19 Суб 16:07:32 1516943293
1553143950249.jpg (56Кб, 1012x308)
1012x308
Может кто-нибудь объяснить почему в функции ничего не происходит и как вернуть в этом случае пустую строку?
https://pastebin.com/G9KT3rKx
Аноним 09/11/19 Суб 16:14:02 1516954294
>>1516943
в функции ничего не происходит
потому что ты ее не вызываешь АЛО
Аноним 09/11/19 Суб 16:14:41 1516956295
Аноним 09/11/19 Суб 16:15:41 1516957296
изображение.png (66Кб, 945x578)
945x578
Аноним 09/11/19 Суб 16:18:13 1516961297
image.png (164Кб, 1143x936)
1143x936
Аноним 09/11/19 Суб 16:18:30 1516962298
>>1516943
А че эта хуйня вообще должна делать? У тебя просто набор абсолютно бессвязных строк
Аноним 09/11/19 Суб 16:20:29 1516965299
>>1516481
>коротко и просто, если ты не понимаешь и не можешь прочитать то, на что сослался, то пиздуй
У кого-то логипа плывёт. Иди хоть PEP-сов почитай на досуге, там уже не первые десять лет как объяснили почему ты хуй сосёшь.
Проблема тех примеров не в сахаре для создания списка, а в том что он набор операций весьма нестадартный и хуй вдуплишь чего именно ты хотел добиться. Оригинальный же пост сразу даёт понять что к чему и, как можешь видеть, анон смог и обоснование дать что там менять чтобы было лучше.
Многовложенная эвалюация со скобочками в принте это вообще прекрасный случай нечитаемости - ты там сходу даже не скажешь к чему вообще '\n'.join() применяться будет. И приходится эту хуйню вычитывать и лишь потом догадываться нахуя ты это вообще сделал и почему именно так.
Аноним 09/11/19 Суб 16:22:40 1516968300
>>1516819
Раз уж развлекаешься, то не проще ли службу отдельно запустить, которая будет тот же ip-трафик читать и в stdout выводить? И просто на неё закидывать нужные данные без всяких подтверждений.
Аноним 09/11/19 Суб 16:25:37 1516969301
>>1516954
Лолбля, у меня даже уши покраснели.
>>1516962
Возвращает список в котором содержатся только четные элементы из начального списка деленные на два.
Аноним 09/11/19 Суб 16:29:19 1516971302
>>1516969
>Возвращает
Подумай еще раз
Аноним 09/11/19 Суб 16:30:44 1516972303
speedcoding.png (16Кб, 704x224)
704x224
Аноним 09/11/19 Суб 16:33:57 1516974304
>>1516971
Ну изменяет список. Без вас аноны я бы навряд ли смог додумать сам, а сейчас допер, тонны нефти вам.
Аноним 09/11/19 Суб 17:27:30 1517008305
Объясните мне, как в питоне по нормальному копировать списки? Особенно списки списков. Я в ахуе. Кем надо быть, чтобы придумать .что просто копия, сделанная без дополнительных каких-то изощрений связана с оригиналом и изменение одного списка изменяет связанный с ним? НАХУЯ?
Вот у меня есть матрица. Мне надо последнюю строку вставить сверху, то есть сделать ее первой, первую изначальную первую, а не вставленную поставить последней строкой.
И то же самое со столбцами.
Делаю сначала строки, всякие инсерты и аппенды. Нормально. Потом столбцы. И тут начинается эта ебанина. В скопированной строке элемент добавляется дважды. Один раз в оригинале, и в торой раз в копии, которая за каким-то хуем последовала за оригиналом и уже заимела добавленный элемент.
И главное, где про питон не почитаешь- ах какой элегантный язык. Пиздец.
Аноним 09/11/19 Суб 17:35:54 1517018306
>>1517008
Ты дурачок, ты не делаешь копии, ты в две переменные вкладываешь ссылку на один объект. Просто загугли "как скопировать список, питон". срезы изучи
Аноним 09/11/19 Суб 17:37:57 1517021307
>>1517018
Я знаю что происходит. Я не понимаю нахуя это надо.
>в две переменные вкладываешь ссылку на один объект
Аноним 09/11/19 Суб 17:40:10 1517023308
Аноним 09/11/19 Суб 17:41:54 1517027309
>>1517021
Потому что это mutable объект ёпта
И ты копируешь ссылки на один и тот же объект, а не сами объекты
Аноним 09/11/19 Суб 17:44:44 1517028310
>>1517027
Да я понял, что копируются ссылки. Я не понял, зачем это надо? Зачем мне два объекта, которые на самом деле один?
Аноним 09/11/19 Суб 17:44:45 1517029311
>>1517021
>>1517021
Чтобы ты мог спокойно перекмдывать ссылку на объект между кусками твоей программы, например подавать в функции
Аноним 09/11/19 Суб 17:48:53 1517031312
>>1517028
Потому что все переменные в Питоне это на самом деле ссылки на объекты. В этом суть структуры языка и всё тут. Можешь обмазаться С - там вручную ссылки создаешь и имеешь доступ непосредственно к ячейкам памяти и их адресам
Аноним 09/11/19 Суб 17:52:19 1517035313
>>1517027
Имутабельные так же работают вообще-то
Аноним 09/11/19 Суб 17:56:36 1517040314
Аноним 09/11/19 Суб 18:03:07 1517043315
>>1517040
[0 for i in range(500)]
Сколько создатся объектов?
Аноним 09/11/19 Суб 18:08:18 1517048316
>>1517043
А хотя не, бля, оно же при каждом вычислении создаётся, другой пример:
a = 0
b = a
Сколько объектов
Аноним 09/11/19 Суб 18:09:18 1517049317
>>1517043
Создастся 500 таких структур
typedef struct {
PyObject_VAR_HEAD
PyObject ob_item;
Py_ssize_t allocated;
} PyListObject;

ob_item каждой будет ссылаться на объект с одним и тем же id.
Аноним 09/11/19 Суб 18:10:28 1517050318
изображение.png (1Кб, 253x89)
253x89
изображение.png (1Кб, 241x141)
241x141
>>1517048
1
а на второй пикче уже 2! нихуя себе, да?
Аноним 09/11/19 Суб 18:17:20 1517053319
>>1517049
>>1517050
Ну и ты точно так же копируешь ссылки на один объект, новый объект только при вычислении каком-то создаётся.
Аноним 09/11/19 Суб 18:28:45 1517060320
>>1517053
>новый объект только при вычислении каком-то создаётся
Потому что это immutable object
Аноним 09/11/19 Суб 18:34:24 1517065321
>>1517060
Ну да, но речь шла не про это
Аноним 09/11/19 Суб 19:14:36 1517088322
1505579576036.png (1262Кб, 1200x1289)
1200x1289
Аноним 09/11/19 Суб 19:45:07 1517122323
>>1512752 (OP)
У меня есть несколько функций, как их запускать параллельно по секундомеру?.. Каждая из функций должна запуститься в параллельном thread или process через определенное кол-во секунд после старта Main thread, как это запилить?..
Аноним 09/11/19 Суб 19:51:46 1517133324
image.png (52Кб, 337x413)
337x413
Пиздец взяли джуном, не могу закрыть это ебанный таск, уже 4 дня делаю на джанге этот опросник, нашел на гитхабе довольно похожее решение но там несколько редиректов, ты сначала голосуешь потом тебя кидает на страницу с голосами, а мне надо чтоб все на одной было, типо вот проголосовал, страница перезагрузилась, в бд добавилась запись что этот человек проголосовал, теперь голосовать не может и количество голосов увеличилось.
Аноним 09/11/19 Суб 20:09:09 1517149325
>>1517122
Например, можно создать и запустить треды сразу после запуска скрипта, но в начале каждой функции написать time.sleep(определенное_колво_секунд)

from threading import Thread
from time import sleep

def f1():
__sleep(определённое_колво_секунд)
__# my function

def f2():
__sleep(определённое_колво_секунд)
__# my function

if __name__ == "__main__":
__th1 = Thread(target=f1)
__th2 = Thread(target=f2)
__th1.start()
__th2.start()
...
__th1.join()
__th2.join()

Имей в виду, что прироста скорости не будет из-за GIL. Единственная польза от тредов в питоне - например, отделить ввод-вывод от фоновых вычислений.
Аноним 09/11/19 Суб 20:47:58 1517196326
>>1517149
Хм, ну да, так и выходит
Только можно ли сделать это в асинхронном виде типа >>1516819?
Аноним 09/11/19 Суб 20:54:32 1517205327
Аноним 09/11/19 Суб 22:59:20 1517310328
image.png (2Кб, 466x48)
466x48
Есть способ заменить данные в списке при помощи словаря?
Пикрил что имею.
Аноним 09/11/19 Суб 23:07:03 1517324329
Аноним 09/11/19 Суб 23:38:48 1517349330
>>1517310
Пусть твой словарь в d, а список в s. Тогда:
for i, value in enumerated(s):
__s = d[value]
Аноним 09/11/19 Суб 23:40:26 1517350331
a.png (2Кб, 311x83)
311x83
Аноним 10/11/19 Вск 00:08:14 1517356332
Аноним 10/11/19 Вск 00:56:30 1517396333
>>1517133
Тебе уже давали годный совет, с проверкой голосовал ли юзер или нет, в чём трабл?
Аноним 10/11/19 Вск 01:10:52 1517404334
>>1517133
А в чем проблема? Ну сохраняй в куках статус проголосовавшего, или если есть регистрация, то список проголосовавших. Ну и рендери темплейт (хуй знает как это ваще в джанге выглядит) в зависимости от статуса
мимо хэллоу-вордщик
Аноним 10/11/19 Вск 01:14:00 1517407335
>>1517404
> сохраняй в куках статус проголосовавшего
О, может, ещё и пароль проверять на стороне клиента?
Аноним 10/11/19 Вск 01:16:49 1517410336
>>1517404
На фронте подобное не делается, максимум от фронта - асинхронный запрос на бэк с проверкой, всё.
>>1517407
А если не подошёл то выдавать список схожих паролей и предлагать выбрать нужный.
Звучит как идея для стартапа
Аноним 10/11/19 Вск 01:18:37 1517415337
c385190.jpg (31Кб, 640x659)
640x659
Анон, я понял, что у меня все ужасно в плане алгоритмов на фундаментальном уровне. Какие свойства есть у массива? Как его ворочать? Как работать с кортежами, списками, строками и т.д. Подскажите какую-нибудь годную книгу или видеолекции с пояснением темы, задачами и решением. В идеале - что-то по типу задач на https://codingbat.com/python, их там правда очень мало, и они без пояснения материала, синтаксиса, но решать из мне очень понравилось.
Аноним 10/11/19 Вск 01:23:43 1517421338
>>1517410
Этот пароль уже используется пользователем username, придумайтедругой
Аноним 10/11/19 Вск 01:33:00 1517432339
>>1517350
Что именно делают функции enumerate, enumerated?
Аноним 10/11/19 Вск 02:36:12 1517482340
>>1517432
enumerate() бежит по коллекции, возвращая пары вида (порядковый номер, значение). Если бежит по списку, порядковый номер совпадает с индексом в списке. enumerated() в питоне нет.
Аноним 10/11/19 Вск 02:51:11 1517489341
Аноним 10/11/19 Вск 08:08:26 1517521342
>>1517415
Лекции хирьянова на ютубе. В комментах к роликам есть ссылка на практику, делай всё, контесты тоже
Аноним 10/11/19 Вск 10:45:22 1517560343
Аноны, нужно создать поле ввода в GUI на tkinter, но чтобы оно только принимало int значения (ну или чтобы в дальнейшем можно было изменить тип вводимого значения на int). Как такое можно устроить? Или может есть какие-нибудь аналоги без мозгоебли?
Аноним 10/11/19 Вск 10:49:06 1517561344
>>1514608
Я не смогу из него выйти. Шутник ёбаный.
Я может хелловорлдщик, но не нуб ёба.
Аноним 10/11/19 Вск 10:50:30 1517562345
Аноним 10/11/19 Вск 10:52:42 1517564346
>>1514608
у меня коллега пишет в вим, грит мощно, но он задрот
Аноним 10/11/19 Вск 11:47:17 1517589347
>>1517396
С проверкой разобрался, но теперь без редиректа ничего сделать не получается, а мне обязательно, чтобы это было в виде виджета на 1 странице и она никуда меня не отправляла, а на месте выдавала результаты, например я выбрал ответ, нажал кнопку проголосовать, страница перезагрузилась, обновилась бд и добавились новые значения к результатам, как это сделать?
Аноним 10/11/19 Вск 12:08:42 1517602348
>>1517589
С тобой что-то не так.
Аноним 10/11/19 Вск 12:32:33 1517613349
>>1517589
У вас там все на темплейтах? Не проще ли реализовать апи и аякс форму?
Аноним 10/11/19 Вск 15:04:43 1517764350
>>1517589
> я выбрал ответ, нажал кнопку проголосовать, страница перезагрузилась, обновилась бд и добавились новые значения к результатам
Ну вот как ты описал так и сделай, в чём проблема?
После получения ебучего ПОСТ реквеста делай либо же редирект на этот же урл но на ГЕТ либо же перед отрисовкой страницы после ПОСТ реквеста делай не только запросы в БД на запись данных, но и на чтение новых, актуальных.
Аноним 10/11/19 Вск 15:27:00 1517790351
Аноним 10/11/19 Вск 17:47:42 1517915352
1551600961541.png (610Кб, 1280x720)
1280x720
>>1517790
Раз уж там разрешены итертулз, то непонятно нахуй ты своего нагородил.
Ты должен возвращать результат, а не печатать.
При тестах вызывается permutations, то есть твоя функция вообще игнорируется.

https://ideone.com/NSZL0j
Аноним 10/11/19 Вск 18:15:56 1517935353
Аноним 10/11/19 Вск 18:18:44 1517938354
Аноним 10/11/19 Вск 18:26:57 1517944355
>>1512752 (OP)
Как скопировать двумерный массив? По срезу списки из которых состоит массив изменяются и в копии и в оригинале.
Аноним 10/11/19 Вск 18:35:31 1517953356
>>1517944
импорт copy
новый_список = copy.deepcopy(старый_список)
Аноним 10/11/19 Вск 18:36:55 1517955357
>>1517589
Зачем тебе редиректы? Делай пост на эту же страницу, в начале добавь небольшой кусок мол "если в запросе есть воут, то пишем в базу", а дальше обычный код вывода голосовалки.
ALmaz 10/11/19 Вск 19:04:37 1517978358
Аноны помогите решить задачу


Напишите программу, которая принимает данные от пользователя с помощью функции input и печатает результат в консоль.

Ввод данных

Пользователь последовательно вводит данные об учениках в формате
класс фамилия. Например: 9 Иванов или 12Б Петров
За один раз вводится один ученик
Между символами, обозначающим класс и фамилией, ровно один пробел
Количество учеников и классов не ограничено
Концом ввода является передача пустого значения
Аноним 10/11/19 Вск 19:10:41 1517993359
Сделал автокомплит в питоноконсоли. Сделал так: определяется часть команды до точки и часть команды после точки. По первой части делается eval и dir, а по второй части делаю фильтрацию результатов, которые всплывают в стандартном окне с вариантами. В остальном всё как в стандартном текстовом редакторе, меня смущает то, что каждый раз для подбора вариантов вызывается eval. Ведь мало ли что там может таким образом случайно вызваться.
Вопрос: насколько это через жопу?
Аноним 10/11/19 Вск 19:24:41 1518011360
>>1517993
> насколько это через жопу?
Очень жопно.
Цепи маркова очень торт автокомплите простом
Аноним 10/11/19 Вск 19:24:52 1518012361
>>1517122
Так нахуй, Папка в тред зашел бля

>как их запускать параллельно по секундомеру
threading.Timer
Всё, ёпта
Аноним 10/11/19 Вск 19:53:12 1518049362
>>1518011
>Цепи маркова очень торт автокомплите простом
Что-то я не догнал, при чём тут цепи Маркова. Что ты имеешь в виду?
Аноним 10/11/19 Вск 20:48:02 1518090363
>>1518049
> По первой части делается eval и dir
Звучит не торт
> при чём тут цепи Маркова
Погугли что это и как можно применить.
Аноним 10/11/19 Вск 22:22:40 1518134364
Помогите плиз найти какой-нибудь более менее пример загрузки пост запросом текстового файла на сервер, написанный
вот это:
https://docs.aiohttp.org/en/latest/web_quickstart.html#file-uploads
не то, тут они показывают , как загрузить файл из инпут поля,
я попытался адаптировать это под обычную загрузку текстового файла POST запросом, например с помощью curl
curl -i -X POST http://localhost:8080 -H "Content-Type: text/xml" --data-binary "@ПУТЬ_К_ФАЙЛУ"
передаю туда файл со следующим содержанием:
123
abc


но при этом я не могу никак получить доступ к самому содержимому этого текстового файла,
Аноним 10/11/19 Вск 22:26:05 1518137365
> какой-нибудь более менее пример загрузки пост запросом текстового файла на сервер
> но при этом я не могу никак получить доступ к самому содержимому этого текстового файла,
Тебе что из этого надо?
Загрузить файл пост запросом на серв? Бери реквестс и поле file.
Прочитать файл на сервере? Сохраняй файл в директорию а затем открывай его обычным open('/path/dir/file', 'rt').
Аноним 10/11/19 Вск 22:26:34 1518139366
image.png (25Кб, 482x360)
482x360
image.png (11Кб, 690x136)
690x136
image.png (8Кб, 329x128)
329x128
>>1518134
такое ощущение, что
data = await request.post()
вообще пустой

но запрос проходит нормально,

как получить текстовое содержимое файла, что бы его потом обрабатывать и на его основе делать респонс и хедеры?
Аноним 10/11/19 Вск 22:30:07 1518140367
>>1518137
хочу получить содержимое текстового файла, полученное POST запросом от клиента (curl -i -X POST http://localhost:8080 -H "Content-Type: text/xml" --data-binary "@ПУТЬ_К_ФАЙЛУ")
обработать его и сохранить в файл другого формата (сделать из него словарь и сохранить в джейсоне)
вот что у меня пока есть:
>>1518139
Аноним 10/11/19 Вск 22:32:06 1518143368
image.png (32Кб, 465x273)
465x273
>>1518140
Ну так вот нужная тебе хуйня
Аноним 10/11/19 Вск 22:36:34 1518149369
image.png (131Кб, 822x793)
822x793
>>1518143
Да, но этот пример сделан для конкретно этого html темплейта,
а я просто делаю POST запрос с текстовым файлом с помощью утилиты curl
Аноним 10/11/19 Вск 22:44:11 1518155370
1553143950249.jpg (92Кб, 1048x371)
1048x371
genome = input().lower()
print(f"{(((genome.count('c') + genome.count('g'))/len(genome)) * 100:.1f}")

Мудрые аноны, подскажите что с функцией не так?
Аноним 10/11/19 Вск 22:48:32 1518158371
image.png (50Кб, 1331x399)
1331x399
image.png (24Кб, 1404x140)
1404x140
>>1518149
Потому что ты хуйню творишь.
Если не умеешь курл юзать как надо - юзай реквестс или постмана.
Ты должен передать файл как ФАЙЛ.
И тогда всё работает.
Твоя хтмл форма делает вполне себе обычный завпрос только верно выставляет хэдеры и параметры для передачи.
Аноним 10/11/19 Вск 23:05:53 1518189372
Аноним 10/11/19 Вск 23:16:35 1518207373
>>1518189
Прилепил немного не то: genome = input().upper()
print(float(f"{((((genome.count('C') + genome.count('G')) / len(genome)) * 100)):.1f}"))

Твой вариант тот же тест проваливает.
Аноним 11/11/19 Пнд 00:02:03 1518245374
>>1518158
спасибо за помощь, походу я пытался файл передавать, как data-binary и нужных заголовков не было
Аноним 11/11/19 Пнд 00:03:16 1518249375
>>1518245
Всё так.
Удачи тебе, антош
Аноним 11/11/19 Пнд 00:19:13 1518263376
>>1517915
Да,я сам допер,что просто надо было когда импортировал пермутейшонс дописать as sth
Аноним 11/11/19 Пнд 11:13:09 1518466377
>>1516485
Открываю секрет мироздания: все плевать на пайтон дзен, что не бракуется линтером, то разрешено, а бракует он многое.
Аноним 11/11/19 Пнд 11:15:11 1518468378
>>1516486
А по твоему вложенные циклы читаются лучшем, чем генераторы? Есть конечно вещи, которые ухудшают читабельность, но все примеры выше явно не тот пример.
Аноним 11/11/19 Пнд 11:17:20 1518469379
>>1516512
Тебе не кажется, что читаемость - вещь субъективная, все зависит от того сколько ты строк кода подобного переварил. Как по мне пример, на который ты сослался, очень даже читабельный.
Аноним 11/11/19 Пнд 11:21:16 1518470380
>>1516819
Почему все так боятся мультипроцессинга? Причём причины всегда разные называют, иногда дорого, иногда сложно, иногда просто не стоит. Родина вам звезды дала - носи - не хочу, хочу жрать говно.
Аноним 11/11/19 Пнд 11:28:47 1518474381
>>1516961
Интересная либа, надо бы протестить спасибо, анончик.
мимо однострочник
Аноним 11/11/19 Пнд 11:30:24 1518475382
>>1516965
Укажи мне в пепах пункты, которые запрещают уже 10 лет хоть что-то из примеров выше, будь добр.
Аноним 11/11/19 Пнд 11:34:29 1518476383
>>1516965
У тебя походу какие-то проблемы с пониманием синтаксиса, очевидно, что метод join в качестве аргументов принимает иттерируемый объект. Чтобы понять, что он принимает, достаточно просто посмотреть что сука находится в скобочках, мне кажется, это даже дети в 5 класса умеют делать, когда их обучают всяким паскалям. То что вы не знаете синтаксис и пишете в си-стайл - это чисто ваша проблема.
Аноним 11/11/19 Пнд 11:47:14 1518482384
>>1516972
Обоссан? Ты блядь серьезно? Приводишь скрин с сишным однострочником и думаешь что это является хоть каким-то аргументом? Тв либо сосем конченый, либо айсикью у тебя как у хлебушка. Впрочем из-за си-уебков типа тебя люди и пишут вложенные циклы, а вместо итераторов используют for i in range(len(itter_object)). Ты просто не способен понять, что в разных языках разные подходы к понятию читабельности. Если в си принято писать 10 строчек для простенькой операции, то использование сокращение до одностроника уже выбивается из общей картины, но хули ты лезешь то в питон со своим сишным уставом?
Аноним 11/11/19 Пнд 11:50:22 1518483385
>>1517008
1) метод copy
2) метод deepcopy
3) срезы: new_list = old_list[:]
Аноним 11/11/19 Пнд 11:52:36 1518484386
>>1516972
Лол, как же ньюфаги бугуртят от олдфажного сокрещенного синтаксиса. На моей текущей работе тоже любят сокращенные схемы как в старые времена и проблем это не приносит. Пишем на джаве. То чувство, когда в 2000-х джава была языком для даунов, а сейчас джависты - последние из вымирающей элиты.
Аноним 11/11/19 Пнд 11:57:18 1518485387
>>1517310
Само собой есть, причём можно сделать в одну строчку.)
Аноним 11/11/19 Пнд 12:02:00 1518486388
>>1518484

Чел в питон треде пытается доказать,что однострочники - зло, и приводит огрызок переписки без контекста, но в нем явно сишный код. Мне кажется тут все вопросы должны отпасть сами собой.
Аноним 11/11/19 Пнд 12:02:25 1518487389
>>1518482
Но при этом си работает на голых железках, и пидон без огромного рантайма и кучи еблиотек не взлетит. А если уж хочется писать софт для бизнеса, то для этого есть другие языки: go, swift, kotlin. Пидон это параша для школьников-МЛщиков, чьи модели потом переписывают на C++
Аноним 11/11/19 Пнд 12:05:37 1518488390
>>1517560

В pyqt делается через валидаторы на текстедит, но есть какое-то специальное роле для интов со стрелочками, не помню как оно называется, по идее эти стрелочки можно убрать, не уверен, что в ткинтере это можно сделать правда.
Аноним 11/11/19 Пнд 12:07:03 1518489391
>>1517561
Из вима все выходят путём перезагрузки машины, поэтому он для хардкорных кодеров.
Аноним 11/11/19 Пнд 12:17:57 1518494392
>>1518487
Бля, просто иди нахуй, ты обосрался, но даже это не хочешь признавать. Скажи фейсбуку с их инстаграмом, что питона - параша для школьников.
Аноним 11/11/19 Пнд 12:18:53 1518495393
Аноним 11/11/19 Пнд 13:09:35 1518507394
кто-то обосрался
Аноним 11/11/19 Пнд 13:26:45 1518510395
>>1518494
Ебал твой пейсбук. Я в айти себе копеечку зарабатываю, чтобы жить более интересно благодаря более-менее интересной работе, а не собираюсь снискать славу среди цифрового плебса разработкой очередного хипсторского говна.
Аноним 11/11/19 Пнд 13:27:33 1518511396
Аноним 11/11/19 Пнд 13:49:14 1518525397
Анусы, есть ли у вас на примете какой-нибудь сервис, позволяющий сделать маленькую бд, которая будет доступна из любой жопы мира по какому-то лог-пассу или токену?
Аноним 11/11/19 Пнд 14:14:34 1518550398
>>1518525
Firebase, вроде, для такого.
Аноним 11/11/19 Пнд 14:26:13 1518556399
Аноним 11/11/19 Пнд 16:24:04 1518643400
>>1518469
>Тебе не кажется, что читаемость - вещь субъективная
Согласен. Посыл был в том, что качество кода не зависит от количества строк кода, ибо с уменьшением количества строчек кода порой ухудшается читаемость. Это не всегда так, например, map() и filter() очевидно лучше чем for(int i = 0; ... , но баланс между читаемостью и компактностью кода нужно соблюдать.
>Как по мне пример, на который ты сослался, очень даже читабельный.
ИМХО, он менее читабельный по сравнению с аналогичным многострочником. Не по методам, которые там используются, а просто потому, что такое выражение тяжелее на ходу декомпозировать на более простые шаги.
Аноним 11/11/19 Пнд 16:42:19 1518660401
аноны, уже три месяца изучаю питон, из которых полтора это джанга. соответсвенно опыта коммерческого и реального никакого нет. вкатиться в местные галеры не получается и вот вопрос: стоит ли идти на фриланс чтобы на всякой мелкой хуйне набить тот самый заветный опыт или все же это хуевая затея и лучше дальше сидеть в поисках ?
Аноним 11/11/19 Пнд 18:08:30 1518740402
>>1518660
1. Может надо было вообще сразу за джангу взяться без этого питона ненужного?
2. Изучать неасинхронный веб-фреймворк в 2019
Аноним 11/11/19 Пнд 18:09:41 1518741403
>>1518740
не, без питона бы я бы вообще нихуя не понял само проганье
Аноним 11/11/19 Пнд 18:10:11 1518742404
>>1518090
Я уже погуглил. Не понимаю, как это можно применить тут.
Аноним 11/11/19 Пнд 18:49:50 1518784405
>>1518742
Покажи код, мб что подскажем.
Аноним 11/11/19 Пнд 19:41:20 1518817406
>>1518475
>>1518476
>>1518466

Из-за подобных вам долбоебов Гвидо чуть не выпилил всю функциональщину из языка (https://www.artima.com/weblogs/viewpost.jsp?thread=98196). Однострочник с join'ом выше просто отвратителен: одна вложенность скобок чего стоит. Уебан ещё специально дал всем переменным однобуквенные названия, чтобы длина строки не превысила ограничение, если разбить эту конструкцию на две строки, то она будет выглядеть максимально убого.

Видимо подход языка Go - дать прогеру как можно меньше синтаксического сахара, в нынешнее время самый адекватный, потому что иначе рискуешь нарваться на людей, которые предпочитают количсество строк читабельности.
Аноним 11/11/19 Пнд 19:46:31 1518823407
>>1518817
>синтаксический сахар
>не говно
Весь синтаксический сахар должны реализовывать библиотеки
Аноним 11/11/19 Пнд 19:51:01 1518828408
>>1515962
>изи задачи
Проблема в том, что книги пишут уебаны.
Знания конечно с их помощью приобретаешь, но из-за подачи материала происходит это в разы медленнее, если вообще происходит.
Аноним 11/11/19 Пнд 19:57:05 1518834409
f.png (508Кб, 1084x1016)
1084x1016
Насколько нужно это знать на уровне джуна? А то чет с этой темой и блокировками туплю и ничего не понимаю, хотя мб нужно больше источников почитать
Аноним 11/11/19 Пнд 19:58:15 1518837410
>>1518643
Ну у меня имхо другое. Без сомнения кучу вложенных циклов легко читать, но неприятно.
Аноним 11/11/19 Пнд 19:59:12 1518840411
>>1518740
Скоро все будет, они обещали.
Аноним 11/11/19 Пнд 20:01:19 1518843412
>>1518834
>потоков
>потоков
>GIL
>потоков
Аноним 11/11/19 Пнд 20:04:49 1518845413
>>1518843
Это не взаимоисключающие вещи, лапоть
Аноним 11/11/19 Пнд 20:06:23 1518849414
>>1518845
нахуй их синхронизировать то блядь, если поток один из-за этой хуйни.
Аноним 11/11/19 Пнд 20:10:46 1518854415
>>1518817
И к чему ты дал ссылку, там речь идёт в основном про reduce, который вообще ни один адекватный человек не стал бы использовать. Я двумя руками против анонимных функций и также считаю, что они ухудшают читабельность. Но как бы статья не парирует абсолютно ничего из того, что пытаешься мне предьявить.

‘’.join(
....[...]
)

Эту будет 3 строчки, но они лучше читаются, yapf как правило это и делает с длинными однострочниками.
Аноним 11/11/19 Пнд 20:10:58 1518857416
image.png (2Кб, 235x47)
235x47
Помогите кто-нибудь, плиз, я сделал всё, как здесь указано
https://packaging.python.org/tutorials/packaging-projects/

создал такую файловую структуру

packaging_tutorial/
example_pkg/
__init__.py
setup.py
test1.py
test2.py
LICENSE
README.md

в файлах test1.py и test2.py сделал по одной простой функции типа такой:
def print_two():
print('2')

заимпортировал эти функции в __init__.py,
ну и дальше загрузил этот package
python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/
, всё по инструкции

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

еще я не понимаю эту цитату из документации:
"Note that the import package is example_pkg regardless of what name you gave your distribution package in setup.py (in this case, example-pkg-YOUR-USERNAME-HERE)."
почему так ?и смысол тогда было прописывать своё название в setup.py

и еще, я же верно понимаю, что если я в своём package использую какие-то другие package, то они автоматически заархивируются в эти
.tar.gz и их функционал можно будет использовать, даже если они сами не установлены на целевом питоне, на котором всё запускается?
сори за простыню, но всё это действительно необходимо понимать
Аноним 11/11/19 Пнд 20:13:13 1518861417
>>1518817
append(a[:i], a[i+1:]...)
вот так в офф доке рекомендуют удалять элемент
a = append(a[:i], append(make([]T, j), a[i:]...)...)
а вот так расширяется слайс. Заебись читабельно, правда?
Аноним 11/11/19 Пнд 20:15:20 1518864418
>>1518742
Ну для того что бы "предсказывать" следующую команду юзера, к примеру.
Но до этого в любом случае тебе надо будет взять датасет, его проанализировать и на основе этого уже предлагать.
Есть даже редактор кода, с подобной логикой, сам Гвидо рекламировал, название только забыл.
Если для тебя это перебор, то хватит и того что ты уже сделал, как по мне.
Аноним 11/11/19 Пнд 20:17:37 1518868419
>>1518849
Избежание гонки данных - не единственная область применения блокировок
Аноним 11/11/19 Пнд 20:21:50 1518873420
>>1518857
Матерь божья царица небесная
Аноним 11/11/19 Пнд 20:30:35 1518881421
>>1518849
Бля будешь, что только на CPython будут запускать?
Аноним 11/11/19 Пнд 20:34:54 1518886422
>>1518854
Итого мы получаем 3 строчки вместо 4 в исходном варианте, но при этом в твой "однострочник" гораздо сложнее внести изменения и также мы теряем в читаемости.

Типичный код долбоеба любителя экономить строчки
Аноним 11/11/19 Пнд 21:12:16 1518918423
Снимок экрана о[...].png (3Кб, 233x76)
233x76
Снимок экрана о[...].png (4Кб, 239x98)
239x98
Снимок экрана о[...].png (7Кб, 260x212)
260x212
>>1518784
Код?
Ну, например, набираем "__builtins__", ставим точку, набираем "c" и жмём ctrl-space, тем самым вызываем автодополнение. При этом вызывается eval, который возвращает объект __builtins__, потом вызывается dir(__builtins__) и фильтруется используя начало названия поля "c". Так как в dir(__builtins__) всего два поля, начинающиеся таким образом, возвращаются только clear и copy.
>>1518864
>Ну для того что бы "предсказывать" следующую команду юзера, к примеру.
Ну а если я только что написал
def myfunc():
return '2ch'
то "myfunc().__f" по идее должно автодополняться __format__, а если сразу же после этого я сделаю
def myfunc():
return '2ch'
то та же самая строка должна дополниться уже четырьмя вариантами.
А где взять такой датасет, который содержал бы все эти варианты, если определения функций только что написаны и они до этого ни разу никак не вызывались?
Единственной возможностью дать соответствующие варианты не вызывая функцию мне тут видится анализ её исходного текста. Но это как-то совсем уж нетривиально.
Аноним 11/11/19 Пнд 21:56:59 1518959424
>>1518881
А кто-то другими имплементациями пользуется?
Аноним 11/11/19 Пнд 22:00:47 1518964425
>>1518959
Вот из-за таких как ты НА ЛИНУКС НЕТ ИГОР
Аноним 11/11/19 Пнд 22:10:01 1518969426
>>1518886
Все, иди нахуй. Ты просто добоеб, которому видимо в целом сложно читать, писать и связывать слова. Несешь какую-то просто несусветную ахинею, от которой у меня только испанский стыд.
Аноним 11/11/19 Пнд 23:16:08 1518998427
Аноним 11/11/19 Пнд 23:48:55 1519008428
hitman 2.jpg (533Кб, 1680x1050)
1680x1050
Анон нид хелп. Есть потный кейс и жесткий дедлайн.

Есть компьютер, на котором будет запущен скрипт на питоне (только стандартная библиотека) с пользователя не имеющего прав администратора, но имеющего доступ как минимум на чтение к корпоративным сетевым дискам. Нужно с помощью этого скрипта собрать определенный минимум информации о владельце и передать её средствами Интернет. С помощью модуля os, я думаю, что могу собрать достаточно, но я пока не отстреливаю как передать эту информацию себе без всяких писечек типа requests
Алсо, инфраструктура, в которой будет запущен скрипт будет хорошо защищена, поэтому, скажем, со стандартного outlook письмо на внешний для компании адрес скорее всего отправить не получится, но скрипту, при этом, гарантированно дадут запуститься.
Скрывать работу скрипта нет необходимости, т.к. закон в данном случае нарушаю не я, но информация должна быть передана.
Сердечно прошу советов
Аноним 11/11/19 Пнд 23:51:40 1519009429
>>1519008
Если админ в твоей конторе не лыком шит, то хуй что у тебя выйдет. Нормальный фаерволл блокирует вход-выход любой неизвестной хуйни
Аноним 11/11/19 Пнд 23:58:35 1519011430
>>1519008
> без всяких писечек типа requests
Сокеты.

> закон в данном случае нарушаю не я
Собрался воевать каким-то скриптом против целой компании? Ну-ну. Ваши юристы улыбаются и машут тебе.
Аноним 12/11/19 Втр 00:02:42 1519012431
>>1519011
не я пролил первую кровь
они пытаются получить доступ туда, куда им нельзя, так что это скорее к нашим юристам, но пока не ясно куда воевать
Аноним 12/11/19 Втр 00:05:55 1519017432
>>1519009
Если я гипотетически захожу на сайт какого-нибудь маил.ру пост-реквестом и таким же макаром отправляю письмо, такое сможет распознать и заблочить?
Аноним 12/11/19 Втр 00:08:42 1519020433
>>1519012
> не я пролил первую кровь
Это не значит, что тебе тоже можно. По итогу накажут обе стороны, но компания утрётся, а тебе будет пиздец. Так что трижды подумай.
Аноним 12/11/19 Втр 00:13:13 1519023434
>>1519017
Ясен хуй сможет, ты хотя бы один фаерволл в какой угодно системе видел?
Аноним 12/11/19 Втр 00:26:22 1519030435
>>1518969
однострочника порвало
Аноним 12/11/19 Втр 00:41:45 1519040436
>>1518918
> А где взять такой датасет
Парсинг гитхабовских свежих реп с пистоном, например.
> они до этого ни разу никак не вызывались
Для этого тебе изначально надо собрать данные по всем возможным вариантам(из доков питона или так же как ты делаешь сейчас - из локального интерпретатора), затем на него наложить данные с гита(по частоте юзания) и только после этого применять на практике.
Это твой пет прожект? Как-то планируешь развивать это в конечный попенсорс продукт?
Аноним 12/11/19 Втр 00:42:08 1519042437
>>1519023
Мне случалось запускать веб-парсеры на разных рабочих местах с неплохой защитой, не все так однозначно
Аноним 12/11/19 Втр 00:46:16 1519043438
>>1519008
Ох, стандартными либами много не навоюешь.
Собрать данные соберёшь, но вывести не сможешь.
Всё настолько огорожено что даже меил отправить не сможешь?
Аноним 12/11/19 Втр 02:07:49 1519066439
image.png (27Кб, 796x333)
796x333
image.png (15Кб, 768x194)
768x194
Можете, пожалуйста оценить адекватность решения?
Требуется разбить регуляркой строчку вида:

'metadata=1.2 name=ston\\=e:su pershare UUID=eff4e7bc:47aea5cf:0f0560f0:2de38475'

на словарь

в value могут быть экранированные 2мя слешами знаки равно \\=
и value может быть составлено из 2х слов

я ничего лучше не придумал, чем отдельно регуляркой взять ключи и отдельно взять значения это вообще норм подход?
Я просто делаю сейчас по принципу "лишь бы работало",
а как делать правильно я понятия не имею

на всякий случай код и регулярка
https://regex101.com/r/uB4sI9/159
https://pastebin.com/cCkgRRXP

Аноним 12/11/19 Втр 03:17:44 1519090440
Аноним 12/11/19 Втр 06:08:26 1519097441
Попытка скомпилировать питоновский код в исполняемый файл и библиотеки - пздц, нахуй. Столько подводных камней я давно не видел.
Аноним 12/11/19 Втр 07:54:19 1519121442
>>1519042
Судя по твоим вопросам/ответами ты не очень компетентен в оценке уровня защиты чего бы то ни было. Так что не нарывайся почём зря.
Аноним 12/11/19 Втр 08:16:36 1519126443
Посоветуйте материал или книжку по стандартным и самым популярным библиотекам python. Желательно на русском.
Аноним 12/11/19 Втр 08:29:03 1519130444
>>1518918
Ты только что Language Server Protocol
Аноним 12/11/19 Втр 08:30:01 1519131445
>>1519126
Бизли, Джонс "Python. Книга рецептов"
Эту книжку вообще нужно в шапку запихнуть.
Аноним 12/11/19 Втр 08:57:00 1519137446
Untitled.png (31Кб, 832x374)
832x374
Аноны, каким образом это сравнивается объясните, пожалуйста.
Как они True или Int сравнивают с None? При том что по отдельности ни True, ни Int не сравниваются с None.
Аноним 12/11/19 Втр 09:03:00 1519140447
>>1519137
Приоритет операций:
first_time or value > None
равносильно
first_time or (value > None)
or не вычисляет выражение справа от себя, если левая часть True

Вообще да, хуевый какой-то код.
Аноним 12/11/19 Втр 09:03:03 1519141448
>>1519137
у вас информатику в школе проходят?
у тебя никогда не будет сравнения с None потому что
при первом проходе first_time будет True, а при последующих largest будет int которое будет присвоено в самом первом проходе и т.д , после чего first_time станет False.
Аноним 12/11/19 Втр 09:09:07 1519143449
>>1519141
пересмотри код ещё раз прежде чем кукарекать. где изменяется переменная largest которая с none, перед первым выполнением сравнения?

Первое сравнение True или Какой-то интеджер.
Аноним 12/11/19 Втр 09:09:40 1519144450
>>1519140
я всё равно ничего не понял. попробуйте в интерпретаторе это вбить оно сравнивается. но вопрос один, как?
Аноним 12/11/19 Втр 09:12:39 1519145451
>>1519140
>>1519144

спасибо, анон. я всё понял. спасибо тебе огромное, ещё раз. извини что так долго понимал.
Аноним 12/11/19 Втр 09:14:43 1519147452
Аноним 12/11/19 Втр 09:16:53 1519148453
>>1518964
>линукс
>игры
совсем дурак?
Аноним 12/11/19 Втр 09:28:42 1519153454
>>1519148
линукс дома на домашнем компьютере используют задроты всратые для поднятия своего чсв.
Аноним 12/11/19 Втр 10:29:04 1519179455
image.jpeg (246Кб, 750x1203)
750x1203
Питонисты, читаю тред с яблочного клиента, провайдер - мегафон, айпи этой ебаной срани полностью засраны спамерами, то бишь при попытке бампануть я постоянно вижу сообщение о том, что постинг запрещён. Как мы все прекрасно знаем, публичные впны запрещены макакой, вернее с ними только ридонли можно сидеть. Поскольку ios слишком ахуенная и слишком для людей, то там хер натянешь прокси на весь трафик. IOS 12.4.1, есть джейл брейк - права супер пользователя и доступ к терминалу. Возможно могу поставить homebrew, не проверял, из коробки никаких пакетных менеджеров нет, как и на макосе вроде. Есть полноценный питон 3 с урезанным пипом и практически полноценная ide - Pythonista. Лирикам часть на этом заканчивается. Вопрос - могу ли я как-то питоном изменять свой динамический айпи, возможно путём перезагрузки сети или что-то типа того, у меня даже особо и мыслей нет, как это можно делать, не приходилось работать с сокетами и в целом с сетевым уровнем ниже прикладного. Скорее всего тут подойдёт решение, которое применимо к Linux или другим Unix-like системам. Буду рад ответам. Заранее спасибо. Твика для моих задач не нашёл. Простое выключение-включение интернета не помогает, но зато переход в авиарежим с последующим ожиданием ~10 секунд меняет ip.
Аноним 12/11/19 Втр 10:43:23 1519187456
>>1519179
тебе что делать нехуй? зачем вообще сидеть в интернете с мобильного это же боль и неудобства. маленькое сенсорное дерьмо на котором ничего не видно, многие сайты неадаптированы да ещё и нормально ничего не напечатать.
Аноним 12/11/19 Втр 10:44:10 1519189457
Аноним 12/11/19 Втр 10:51:15 1519192458
Аноним 12/11/19 Втр 10:52:27 1519193459
Аноним 12/11/19 Втр 10:54:33 1519194460
>>1519187
Весьма конструктивный ответ был бы в году так 2005
Аноним 12/11/19 Втр 11:45:17 1519221461
Ку, питонач
Как этот ваш пайтон подходит для сетевого программирования вперемешку с задачами для решения инфосек залуп (network hardening) ну и написания утилит для сетевой безопасности?
Аноним 12/11/19 Втр 12:20:47 1519233462
Screenshot from[...].png (94Кб, 959x697)
959x697
Screenshot from[...].png (27Кб, 451x223)
451x223
Screenshot from[...].png (17Кб, 450x87)
450x87
Помогите я тупой, первый пик моя модель в которой раньше было: from django.contrib.auth.models import User и модель Poll ссылалсь на User, все работало, но это было сделано локально, теперь надо загрузить на проект, сказали что эта модель должна ссылаться на Employee что на скрине видно и теперь функция user_can_vote которая раньше принимала юзера и request.user работала отлично, теперь надо заменить так чтобы она брала email от employee и делала проверку по нем, скинули код с пика 3, сказали там все что нужно чтоб я понял как сделать, а я пиздец туплю.
Аноним 12/11/19 Втр 12:45:14 1519255463
анчоусы, я конечно извиняюсь за такой идиотский вопрос. но я блять уже изучаю погромирование пол гда. и до сих пор не знаю как написать программу которая будет просто открыть одно окно и выводить хеллоуворлд. расскажи, как программе из питона пидать наконец графическую оболочку. чтобы кнопочки были то сё хуё-моё.
Аноним 12/11/19 Втр 12:49:21 1519258464
>>1519255
Зачем тебе gui в 2019?
Посмотри на tkinter, он несложный.
Аноним 12/11/19 Втр 12:51:37 1519260465
>>1519258
я на окнах сижу. спасибо большое за совет.
ну так хочу на c++ вообще писать там всякие драйвера и прочее. но т.к. ньюфаня ёбаная и порог входа на ++ высокий изучаю питон после него на ++ пойду.
Аноним 12/11/19 Втр 13:00:34 1519268466
>>1519260
Ты в обратном порядке делаешь. Нужно начать с плюсов и охуеть от безблагодатности, а потом перекатиться на питон и наслаждаться горами синтаксического сахара.
Аноним 12/11/19 Втр 13:04:03 1519273467
>>1519268
Вот этого удвою
мимо делал так же
Аноним 12/11/19 Втр 13:07:24 1519277468
>>1519268
но python он же для веба. а я хочу драйвера писать и прочим задротством заниматься.
Аноним 12/11/19 Втр 13:09:23 1519280469
Аноним 12/11/19 Втр 13:10:56 1519282470
Аноним 12/11/19 Втр 18:00:48 1519441471
15735705188420.png (51Кб, 925x599)
925x599
>>1512752 (OP)
Двач, решил поставить ide для Python. Выбор пал на komodo 11, т.к. ток вкатываюсь и pycharm и eclipse пока не нужны. Ставлю на свою ubuntu. Зашёл в гайд по установке, а там пикрил. Нужно ли это делать? Что такое activepython и для чего он? >>1512752 (OP)
Аноним 12/11/19 Втр 18:27:09 1519459472
>>1519441
Нахуй ты ебешь себе мозги неюзабельным говном? Если хочешь упороться, ну максимум паука себе поставь, а вообще вскод\саблайм тоже покатят, хоть и последний не ide
Аноним 12/11/19 Втр 18:30:00 1519461473
>>1519459
стоит sublime3, поставил плагин python3, но он не поддерживает ввод
Аноним 12/11/19 Втр 18:35:46 1519467474
>>1519461
Запускай через терминал, будь мужиком.
Аноним 12/11/19 Втр 18:38:05 1519471475
Аноним 12/11/19 Втр 18:42:43 1519473476
Аноним 12/11/19 Втр 18:50:03 1519478477
изображение.png (47Кб, 1920x989)
1920x989
Аноним 12/11/19 Втр 20:16:14 1519546478
Аноним 12/11/19 Втр 21:56:26 1519660479
>>1519441
ну это что-то с перменной связано поэтому без него никак.
Аноним 12/11/19 Втр 22:58:53 1519692480
>>1519441
Активпайтон это просто готовый набор для работы. Там стандартный набор либ плюс куча дополнительных типа джанги, реквестс и т.д на все случаи жизни.
Можно обойтись обычным питоном и батарейки самому ставить.
Аноним 12/11/19 Втр 23:14:49 1519698481
>>1519040
>> они до этого ни разу никак не вызывались
>Для этого тебе изначально надо собрать данные по всем возможным вариантам(из доков питона или так же как ты делаешь сейчас - из локального интерпретатора), затем на него наложить данные с гита(по частоте юзания) и только после этого применять на практике.
То есть всё равно без синтаксического анализа кода не обойтись. Но возникает следующая проблема: версии библиотек. Если анализировать на гитхабе всё подряд, там могут попасться исходники и для второго питона, и для неактуальных версий библиотек. В итоге собранные данные окажутся ошибочными и такое автодополнение будет вести пользователя по ложному пути.
>Это твой пет прожект?
Типа того. Изначально мне просто надоело постоянно набирать dir(...) в голой консоли.
>Как-то планируешь развивать это в конечный попенсорс продукт?
Да я не знаю, нужны ли людям такие велосипеды.
Аноним 12/11/19 Втр 23:28:47 1519706482
>>1519282
писать драйвера на питоне всё равно что на c++ сайт делать.
Аноним 12/11/19 Втр 23:34:44 1519714483
>>1519706
Последнее хотя бы возможно (cgi и не только).
Аноним 13/11/19 Срд 00:20:56 1519772484
>>1519698
> такое автодополнение будет вести пользователя по ложному пути.
Верно мыслишь, видимо вначале надо будет спарсить для каждой версии пистона данные и в зависимости от версии юзера выдавать посказки.
А вот с либами уже интересней, надо думоть.
> Да я не знаю, нужны ли людям такие велосипеды.
Почему бы и нет? Ссылочка на гит есть? Или фейкопочта.
Аноним 13/11/19 Срд 02:53:42 1519850485
exercise.PNG (14Кб, 590x226)
590x226
snowflake.PNG (7Кб, 336x267)
336x267
Capture.PNG (15Кб, 841x159)
841x159
4.PNG (5Кб, 339x117)
339x117
аноны, посмотрите, пожалуйста, я правильно решил это? там была готовая программа которая рисовала фрактал второго порядка(пик 3 и 4). нужно было сделать так чтобы она рисовала снежинку коха. ломал голову и решил просто выполнение функции поместить в for с тройным поворотом угла. снежинка у меня получилась, но что-то мне подсказывает что нужно было сделать это в рамках рекурсии. аноны, я правильно усовершенствовал программу или нет?
Аноним 13/11/19 Срд 05:03:19 1519866486
Как в юпитер ноутбуке запретить вывод типа
/home/username/lib/python3.6/site-packages/ipykernel_launcher.py:34: RuntimeWarning: divide by zero encountered in log
Это не ошибка, а какбы предупреждение. Просто чтобы оно не отображалось. Из-за паранойи не хочу юзернейм палить.
Аноним 13/11/19 Срд 08:15:57 1519883487
Аноним 13/11/19 Срд 08:19:54 1519884488
Знаю что это оффтоп, но есть форма в которой нельзя изменять данные и копировать их тоже, так вот как сделать так чтобы я мог копировать, но сохранить то что изменять ее нельзя.
Аноним 13/11/19 Срд 08:35:36 1519892489
Аноним 13/11/19 Срд 08:39:29 1519895490
Аноним 13/11/19 Срд 08:53:01 1519897491
Аноним 13/11/19 Срд 09:26:40 1519907492
>>1519850
Правильно ты сделал, единственное, надо было самому писать прогу для кривой коха, а не пиздить где-то. В мфтишном курсе 8 практика на рекурсию, там целая куча заданий на фракталы и есть гифки, по которым легко понять, как примерно двигается черепашка, прорешай эту практику смотря только на их страничку и страницы этих кривых в википедии
Аноним 13/11/19 Срд 09:30:41 1519908493
>>1519461
Ну sublimeREPL поставь, он точно поддерживает
Аноним 13/11/19 Срд 10:22:44 1519924494
>>1519698
У второго питона есть специфические черты в синтаксисе, по которым его модно отличить. Мне кажется лучше парусить исходники с pypi, там указывается с какими версиями совместима либа. Да и вообще, я бы на твоём месте дропал бы второго пистона, это доисторическое говно динозавров нахрен никому не упало, только дополнительные ресы на него потратишь, а актуальность будет мизерной.
Аноним 13/11/19 Срд 10:27:01 1519926495
Возможно вопрос не по теме, хотя pyqt скорее всего и gtk умеет работать с svg. Возможно ли в векторной графике сделать что-то типа tabwidget или combobox, не рисую это вручную и не определяя зоны клика?
Аноним 13/11/19 Срд 11:59:07 1519956496
Предположим, есть django-приложение над которым работает множество разработчиков. И всего одна база с тестовыми данными в локалке, которую используют все.

Вот работаю я в своей ветке. Создаю файл с миграциями, применяю миграции. В это время в кто-то тоже в своей ветке создал файл миграций с таким же номером как и мой и применил их. Не будет ли конфликтов в самой базе?

С кодом то всё точно будет нормально. Просто перед мерджем с мастером меняешь зависимость миграции и её номер.

После мерджа в мастер всегда делаю migrate --fake, но сейчас почему-то засомневался что ничего не ломаю
Аноним 13/11/19 Срд 12:04:07 1519960497
Изучаю теорию уже пару месяцев, многое знаю из базового. Но как только сажусь писать код, незнаю что и как делать. Буквально вчера казалось что сделал шаг вперед в обучении, а сейчас словил демотиватор конкретный. Как бороться с депрессией от собственной тупости и желанием все бросить?
Мне кажется я не могу спроектировать программу, представить ее архитектуру. Из за этого даже не начинаю писать код.
Аноним 13/11/19 Срд 12:09:15 1519967498
>>1519960
Я мог забрасывать программирование "для себя" на срок от месяца-два до пол года+. И ничего, возвращался со свежей головой и идеями.
Аноним 13/11/19 Срд 12:14:55 1519969499
>>1519478
Ты просто тупой.
Ну конечно не все работает в текстовом-то редакторе.
Сделать ИДЕ можно, но с ограничениями и еблей.
Аноним 13/11/19 Срд 12:29:23 1519976500
>>1519907
Спасибо большое, анон. Понял. Последую твоему совету.
Ну я её заимствовал т.к. условие в задании позволяло. Ну так я знаю алгоритм по которому фракталы делаются, поэтому я бы её скорее всего написал бы
Аноним 13/11/19 Срд 12:31:33 1519978501
>>1519967
Мне на галеру нужно пахать, в ближайшие полгода устроиться было бы неплохо.
Не понимаю почему мозг не запоминает примеры кода. Должен ведь анализировать и предлагать мне варианты применения, сука, горит ппц.
Аноним 13/11/19 Срд 12:39:11 1519985502
>>1519978
Просто почаще сталкивайся с реальными задачами. Я, к примеру, в голове держу только полезные мне модули, которые недавно использовал.
Все остальные полезные куски кода и примеры применения лежат на приватном битбакете, куда скидываю абсолютно все, что работало.
Аноним 13/11/19 Срд 12:44:08 1519987503
>>1519985
Да в том то и дело, что в реальных задачах ступор. Ну по книжечке возможно я могу найти подходящее решение, даже немного подправить под себя. Оно так и должно быть? Без книг вообще ступор, на уровне абсолютного примитива только пишу.
Аноним 13/11/19 Срд 12:47:01 1519989504
>>1519987
Важен результат, всем похуй на то, как ты пишешь, особенно, если этот код после тебя никто больше трогать не будет. Придрочишься, не переживай.
Аноним 13/11/19 Срд 13:50:19 1520015505
>>1519956
Ясен хуй будет проблема с миграциями.
Либо перед каждым тестом делай и накатывай дамп бд либо же напиши скрипт, который будет поднимать тебе бд локально и заполнять ее данными.
Аноним 13/11/19 Срд 14:09:43 1520029506
Есть у кого код для бота вк самого простого? Ну, пишешь сообществу пинг, тебе в ответ понг, как пример.
Аноним 13/11/19 Срд 14:35:11 1520053507
Аноним 13/11/19 Срд 14:39:45 1520059508
>>1519884
То что изменить нельзя, но, в принципе, можно сделать так что после копирования не сохраняется
Аноним 13/11/19 Срд 14:41:01 1520062509
>>1520053
Будь добр, ответь на волнующий вопрос. Я эту хуету смогу для теста запустить на домашнем компе, чтобы она отвечала написавшему?
Аноним 13/11/19 Срд 14:44:06 1520066510
>>1520062
Да, если будешь лонгполл юзать, если же на коллбэках то нужен или сервак или нгрок скачай.
Аноним 13/11/19 Срд 14:55:22 1520081511
>>1520066
Понял, спасибо. Если лонгпол то пропердится сам, если не лонгполл то нужно помочь пропердеться.
Аноним 13/11/19 Срд 15:51:44 1520118512
Как блядь понять asyncio?
Аноним 13/11/19 Срд 15:58:10 1520124513
Аноним 13/11/19 Срд 15:59:01 1520127514
Аноним 13/11/19 Срд 16:14:34 1520136515
Смотрю уроки на ютубе, у чела работает, а у меня нет (ошибка синтаксиса). Че не так то, я в точности пишу как он https://pastebin.com/z6M92ZHu
Аноним 13/11/19 Срд 16:19:01 1520140516
>>1520136
У тебя ключ - строка
Аноним 13/11/19 Срд 16:22:01 1520142517
>>1520136
так у тебя запятой нет.
people = {'girl1' : 'Анна', 'girl2' : 'Наташа'}

вот это попробуй, после анны запятая должная быть
Аноним 13/11/19 Срд 16:22:38 1520143518
Аноним 13/11/19 Срд 16:23:16 1520145519
>>1520143
запятую поставь, блядь. у тебя запятой нет.
Аноним 13/11/19 Срд 16:24:01 1520146520
>>1520145
NameError: name 'girl1' is not defined
Аноним 13/11/19 Срд 16:25:59 1520147521
>>1520146
ну ты написал что у тебя ошибка синтаксиса, я тебе сказал чтот запятой нет. у тебя там просто кусок кода без назначенных перменных у тебя и people будет ненайден. хули ты хочешь, кинул блядь кусок кода. пошёл нахуй отсюда
Аноним 13/11/19 Срд 16:26:55 1520149522
В 3 пистоне все по определению в юникоде? Не может быть проблем с кодировкой каких-либо?
Аноним 13/11/19 Срд 16:27:48 1520150523
>>1520143
Фиксить
people = {
'girl1' : 'Анна',
'girl2' : 'Наташа'
}

print(people['girl1'])
Аноним 13/11/19 Срд 16:29:30 1520151524
image.png (57Кб, 704x397)
704x397
>>1520124
>>1520127
Спасибо, ананасы. Еще вопрос по асинкам:
https://aiohttp.readthedocs.io/en/stable/
Вот здесь в документации пример лупа такой, я по-моему на дваче читал что в последних версиях питона это неправильно?
Аноним 13/11/19 Срд 16:29:39 1520152525
>>1520150
он тебе щас выдвинет сообщение о том что переменная не найдена. этот еблан написал что у него синтасическая ошибка и нужно фиксить, ему сказали как. он пофиксил и теперь этот дебил предъявляет хули в его вырванном куске кода перменные не находятся. не отвечайте этому клоуну. пиздец просто откуда такие маньки лезут, очередной вайтишник в треде
Аноним 13/11/19 Срд 16:30:25 1520154526
>>1520147
Только что понял и хотел написать, что girl1 я не занес в апострофы, но спасибо за ответ. У меня башка уже дымит просто, я с 10 утра сижу дрочусь, надо передохнуть
Аноним 13/11/19 Срд 16:30:46 1520155527
Аноним 13/11/19 Срд 16:32:48 1520158528
>>1520151
Нет, это к версиям питона отношения не имеет.
Я про конструкцию ИФ и т.д.
А насч]т создания лупа и т.д. то почти да, просто начиная с 3,7 можно писать асинкио.ран(мэин()), но можно и как на пике делать. Особенно это полезно если хочешь новый ивентлуп создать и т.п.
Аноним 13/11/19 Срд 16:33:41 1520159529
>>1520154
у тебя превосходная усидчивость
Аноним 13/11/19 Срд 16:34:04 1520160530
Аноним 13/11/19 Срд 16:42:03 1520164531
>>1520149
Могут быть поломанные данные.
Аноним 13/11/19 Срд 21:42:43 1520469532
>>1519960
Смотри как подобные задачи решают другие. Конечно, лучше всего будет, если ты сначала сам попытаешься решить задачу хоть как-нибудь и только потом посмотришь чужие решения. В этом нет ничего плохого, 90% программирования заключается в поиске готовых решений и адаптировании их для своей задачи
Аноним 14/11/19 Чтв 00:49:30 1520556533
>>1519772
>Почему бы и нет? Ссылочка на гит есть?
Пока нет. Если хочешь могу тебе отписаться, если выложу.
Но у меня реализован только самый примитив, eval и dir, и всё, и вряд ли будет что-то большее.
>>1519924
Да я на него и не ориентируюсь.
Аноним 14/11/19 Чтв 03:07:55 1520587534
Почему лутц такая унылая параша с кучей воды?
В некоторых главах глаза кровоточат от обилия непонятной хуиты.
Есть тут осилившие этот талмуд? Помогло в итоге?
Аноним 14/11/19 Чтв 03:40:22 1520591535
1453763341608.jpg (74Кб, 900x900)
900x900
>>1520587
Тупо взял и начал писать на питоне, не знаю зачем вам талмуды эти. Язык простой как хуй знает что.
Аноним 14/11/19 Чтв 03:59:55 1520593536
>>1520591
Если есть опыт погромирования то понятно все с тобой. А еслм нафаня совсем? Даже без математической базы.
Язык то простой, а вот как это говно комбинировать хз.
Аноним 14/11/19 Чтв 06:11:30 1520618537
Тупейший вопрос от нафани:
Вот у функции есть аргументы
def func1 (a, b)
Как в a и b передать результат выполнения другой функции, например input()?
Аноним 14/11/19 Чтв 07:12:33 1520624538
Аноним 14/11/19 Чтв 07:18:47 1520626539
>>1520624
Почему шутка? Во всех видеоуроках говорят как прописать аргумент при вызове функции вручную. А если мне надо не вручную?
Аноним 14/11/19 Чтв 07:24:30 1520628540
Нагуглил вроде как ответ
Тоесть я должен оьязательно обьявить переменные a, b в самой программе? И область видимости с моей def функцией будет одна и та же? ( a и b будут теже самые) Туповато както, без переменных нельзя сразу в скобки засунуть?
Аноним 14/11/19 Чтв 08:27:46 1520648541
>>1520628
Почему бы тебе не начать самому пробовать свои догадки? Это быстрее чем капчу тут вводить.
Аноним 14/11/19 Чтв 11:12:19 1520715542
Аноним 14/11/19 Чтв 11:46:43 1520775543
>>1520593
От малого к большому, работает не только в программировании. Буквально от 10 строчных задачек до 20-50-100 строчных.
Где-то тут сайт был с задачками, тупо все прорешай прочитав раздел в котором они.
https://pythontutor.ru/
Аноним 14/11/19 Чтв 12:13:31 1520814544
>>1520556
Отписывайся
homme.le.tranquille@yandex.by
Способ поиска всегда можно изменить.
Аноним 14/11/19 Чтв 14:22:17 1520949545
Задача: вывести первые n элементов,которые раскладываются (2^i)(3^j)(5^k)
https://ideone.com/a8DHrb
Не понимаю,что не так?
Аноним 14/11/19 Чтв 14:48:40 1521003546
>>1512752 (OP)
Сап, как поменять местами папки в репрозитории на гитхабе? Никак не могу понять
Аноним 14/11/19 Чтв 14:56:04 1521015547
>>1520949
По-моему, там всё не так.
Это какая-то бессмыслица.
Остатки там у тебя везде от деления на 2.
В последнем else чего-то не хватает.
Вложенный цикл for лишний.
len(arr) <= 5000 лишнее.
Да и условие while a >= 1 прямо перед if a == 1 лишнее.
i += 1 не на месте. Тут я не могу доказать, ибо это работе не мешает, просто не здесь оно должно быть, и всё.
Ну и, наконец, если процедура работает правильно, то добавление первого элемента arr вручную совершенно излишне.
[1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36, 40, 45, 48, 50, 54, 60, 64, 72, 75, 80, 81]
А ты сам всего этого не видишь?
Аноним 14/11/19 Чтв 17:06:41 1521094548
>>1520949
Я бы просто в множество набил сперва n двоек, затем тройки вплость до n * 2, затем пятёрки так же. Преобразовал в список и вывел первые n чисел.
Аноним 14/11/19 Чтв 17:08:27 1521096549
Аноны, пишу небольшой сервис, который будет конектится к рэбиту, читать сообщение и делать рассылку этого сообщения по другим сервисам(левым, не моим). Как/что лучше выбрать для моего сервиса что бы потом удобно было тестить. Замокать отправку этих сообщений и т.п., есть какие варианты?
Аноним 14/11/19 Чтв 17:08:35 1521097550
>>1521015
Насчет того,что там остаток от деления на 2,да я просто не ту версию кода скопировал. Вот что получилось после твоих советов
https://ideone.com/2xT1Md не хочет i+=1 делать
Аноним 14/11/19 Чтв 17:09:08 1521098551
>>1521096
Рассылка должна идти обычными хттп пост запросами.
Аноним 14/11/19 Чтв 17:12:03 1521099552
>>1521094
типо 2,4,8,16.... ну и потом что ты написал
так число может быть комбинацией из любого количества 2 3 и 5
Аноним 14/11/19 Чтв 19:11:56 1521195553
>>1520949
>>1521097
Не понимаю, что ты делаешь вообще, у тебя там два в степени i, а не 2 умножить на i
Аноним 14/11/19 Чтв 19:22:14 1521207554
Сап двач, есть ли смысл в курсах типа гикбрейнс, скиллфэктори, отус? Или зря бабло потрачу?
Аноним 14/11/19 Чтв 19:27:10 1521212555
Аноним 14/11/19 Чтв 19:51:27 1521226556
>>1521212
Спасибо (что да блядь)
Аноним 14/11/19 Чтв 19:58:27 1521232557
>>1521207
Если усидчивый, можешь читать книги и умеешь гуглить, то нахуй не нужно.
Аноним 14/11/19 Чтв 20:03:14 1521236558
>>1521232
А если нет то и вообще нет смысла
Аноним 14/11/19 Чтв 20:22:32 1521247559
>>1519960
Тоже самое было, потом устроился джуном и вроде лучше стало.
Аноним 14/11/19 Чтв 21:19:11 1521295560
image.png (15Кб, 516x221)
516x221
image.png (62Кб, 803x739)
803x739
Как вообще принято покрывать юнит-тестами функции?

Вот, например,

если у меня есть функция, которая разбивает строку по запятым на спиок слов,
я точно знаю, что этих слов должно быть 3

какие тесты я должен для неё прописать ?
Допустим:
Проверка на правильный тип данных возвращаемого значения
Проверка на правильную работу функции (забить выходной список вручную для небольшого примера)
Проверка на правильное количество возвращаемых элементов в списке

Я немного упростил свою реальную функцию, у меня еще добавятся тесты для разных специфичных случаев,
но есть ли еще какие-то основные тесты, которые я упустил?
Аноним 14/11/19 Чтв 21:19:32 1521296561
>>1521295
И еще, если,допустим, делаешь собственный парсер и оформляешь его , как питоновский пакет,
нужно ли там прописывать собственные исключения, например для случая, когда на вход подана строка неправильного формата?
Или достаточно выбрасывать в коде уже существующий тип исключения, например ValueError, написав лишь там своё сообщение ?
Аноним 14/11/19 Чтв 21:48:14 1521304562
Аноним 14/11/19 Чтв 21:53:18 1521310563
Возможно ли сделать аргументом функции переменную, зависящую по дефолту от других аргументов, но чтоб можно было и своё значение вводить?
Примерно что должно быть.
def test(a, b, c=a+b):
return abc
Но мой пример не работает
Аноним 14/11/19 Чтв 22:34:57 1521330564
>>1521310
Можно сделать, например, так:
def test(a, b, c=None):
_if c is None:
__c = a + b
...
Аноним 14/11/19 Чтв 22:57:52 1521349565
>>1521310
Я могу ошибаться, но вроде такую хуйню добавили в питоне 3.8
Аноним 15/11/19 Птн 00:21:53 1521389566
>>1512752 (OP)
Сколько сейчас пайтон джун (без опыта) может получать в мск? Хотя бы 50-55 реально выбить?
Аноним 15/11/19 Птн 00:25:11 1521392567
Аноним 15/11/19 Птн 03:52:19 1521413568
>>1517993
>Вопрос: насколько это через жопу?
Да вообщем то не через жопу, а нормальное вполне решение, подтверждающее что твой интеллект работает.
В таких случаях почти всегда есть решения лучше.
Но назвать это "через жопу" не получается, т.к. это очевидно разумный путь, который и должен был вначале в башне сформироваться.
Аноним 15/11/19 Птн 04:13:41 1521416569
>>1517008
>Объясните мне, как в питоне по нормальному копировать списки?
Чёрт, че развонялся? copy() и всё.
сам же пишешь:
>И главное, где про питон не почитаешь- ах какой элегантный язык.
15/11/19 Птн 07:22:45 1521440570
>>1521247
На собесе что спрашивали? В чем заключается сама работа?
Аноним 16/11/19 Суб 00:23:56 1522206571
>>1520158
Как жаль, что версию 3,7 не будет ещё никто юзать пол года как
Аноним 16/11/19 Суб 20:17:28 1522845572
>>1520628

Можно все передать и через аргументы, если не позиционные, хотя мне кажется, что и через них можно, то через именные так уж точно
Аноним 16/11/19 Суб 20:28:40 1522850573
Аноним 18/11/19 Пнд 09:46:14 1523866574
Щас работаю на галере, сначала посадили на проект, дали сложную задачу я ее делал неделю, недоделал мне сверху дали еще 4 задачи, я ахуеваю пилил их 2 сделал и сегодня еще кидают задачу и мне постоянно говорят чтобы я быстро все делал, я ахуеваю просто это вообще нормально?
Аноним 18/11/19 Пнд 21:02:55 1524287575
Как разобраться в ООП, я нихуя не могу понять.
Атрибуты, аргументы, методы, как иерархию выстроить в голове? Где курица а где яйцо? Как понять этот ебанутый язык, читаешь простенькую книгу там вроде все складно. Начинаешь читать лутца я глаза вытекают, хуй пойми о чем он вообще.
Аноним 20/11/19 Срд 20:41:51 1525563576
>>1524287
Да ООП это просто же. Между курицей и яйцом нет иерархии. Курица это домашняя птица. Домашняя птица это птица. У курицы есть глаза, перья и клюв. И у любой птицы есть. Но у всех разные.
А куриное яйцо - это не отдельный вид птиц, это состояние курицы. При этом любая птица может быть яйцом, даже пингвин. И крокодил может быть яйцом, но он не птица.
Нужен ли твоей программе отдельный класс для яиц? Весьма вероятно, что нет. Но это не точно.
Кроме того, в Питоне возможно множественное наследование. То есть иерархия это как бы не совсем иерархия. Пример: https://lazka.github.io/pgi-docs/GtkSource-3.0/classes/View.html
А если тебе какая-то книга непонятна, то тут одно из двух, либо книга фуфло, либо тебе ещё пока рано её читать. Почитай ещё книжек с картинками.
Аноним 20/11/19 Срд 21:57:22 1525629577
>>1525563
Это я в депре написал от непонимания, иногда вроде все понял, а потом читаешь другое обьяснение и путаешься.
Я нашел курс на степике продвинутый, там толстяк годно обьясняет про связи между обьектами. Прям фундаментально поясняет за все вплоть до класса object
Вводит понятие стек вызова и namespace. Вот только после этого видео вроде все сложилось в голове.
Аноним 20/11/19 Срд 22:04:40 1525634578
Мне кажется первым делом надо пояснять за имена и ссылки на обьекты. Книжки для новичков так глубоко не копают и остается чувство недосказанности. Курсы от всяких хауди хо и прочих недопрогеров лучше сразу забыть, хорошие курсы Хирьянова на ютубе и на степике.
Аноним 20/11/19 Срд 22:07:30 1525637579
Аноним 21/11/19 Чтв 00:48:37 1525736580
Аноним 21/11/19 Чтв 02:44:53 1525763581
>>1525629
Что-то я не понял, при чём тут стек вызовов и неймспейсы...
ООП это же про другое.
Аноним 21/11/19 Чтв 03:02:15 1525768582
>>1525634
>Мне кажется первым делом надо пояснять за имена и ссылки на обьекты.
Ну, дружище... За это тебе должны были в школе пояснять. Только не говори мне, что у вас в школе не было информатики.
Я тебе даже так скажу, третьеклассники уже программировать учатся. Доказать?
http://nio.robostem.ru/wp-content/uploads/2014/09/STEM_Koposov_maket.pdf
Кстати, рекомендую почитать. КАЖДОМУ.
Аноним 21/11/19 Чтв 14:36:56 1525939583
>>1525736
Зайди на Stepik, там курс python, 1 видео.
Там 2 курса, один совсем основы, а второй тот что нужен тебе. Называется "Программирование на Python"
>>1525763
Про другое, к ООП плавно подводят через понятие неймспейсов и стека. Складывается полная картина. Я сам до конца не запомнил, буду пересматривать. Но мне понравилось.
>>1525768
У меня не было информатики, я школу давно закончил. Ты я так понимаю третеклассник и пришел похвастаться?
Аноним 21/11/19 Чтв 14:38:39 1525941584
Аноним 21/11/19 Чтв 14:39:33 1525942585
https:// vimeo. com/ 163333052
Суки, не дают ссылки постить
Аноним 21/11/19 Чтв 14:49:42 1525952586
>>1525768
Я вообще имел ввиду несколько другое
А именно концепцию, что в Python все является обьектом. А переменные лишь ссылки на них. На сколько я знаю в других языках это не совсем так.
Аноним 21/11/19 Чтв 15:54:52 1526027587
Аноним 21/11/19 Чтв 18:55:43 1526165588
Здравствуйте, недавно начал обучать python и хочу написать простую программу, суть программы в том, что пользователь вводит "?" и ему выводится одно сообщение, вводит "Hello" и ему выводится другое сообщение
Аноним 22/11/19 Птн 00:49:33 1526355589
Аноним 22/11/19 Птн 15:52:34 1526792590
>>1525939
>Про другое, к ООП плавно подводят через понятие неймспейсов и стека.
Ну хрен знает. Мне сложно представить, в чём здесь взаимосвязь.
>У меня не было информатики, я школу давно закончил. Ты я так понимаю третеклассник и пришел похвастаться?
Понимает он... И когда же (и где) ты закончил школу, где не было информатики?
Аноним 26/11/19 Втр 04:31:16 1529704591
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов