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

Ответить в тред Ответить в тред
Check this out!
Питон тред №102 /python/ Аноним 20/10/20 Втр 19:15:14 18355771
Screenshot from[...].png 177Кб, 1124x702
1124x702
Тред, посвящённый языку программирования Питон, #102

Предыдущий: >>1817742 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

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

Вопросы-ответы:
— А стоит ли читать Лутца, том номер 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/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
https://dumpz.org/bASGKD8cCFDf


Аноним 20/10/20 Втр 19:32:11 18355852
>>1835383 →
а если у двух разных изображений один размер?
Аноним 20/10/20 Втр 19:32:55 18355883
>>1835585
>>1835404 →
миссклик
а если у двух разных изображений один размер?
Аноним 20/10/20 Втр 19:33:52 18355904
Ну наконец перекатил кто-то
Аноним 20/10/20 Втр 21:11:08 18356765
>>1835588
Можно хеш посчитать, хули нам.
Аноним 20/10/20 Втр 22:44:38 18357746
Не прошло и полгода...
Аноним 20/10/20 Втр 23:42:17 18358187
А. Вот прям с нуля начал я - установил питон - установил VS Code чтоб писать забыл как называется, собсна вопрос дальше с чего начать ?
Аноним 20/10/20 Втр 23:59:13 18358238
>>1835818
мне помогла книга "автоматизаия рутинных задач", потом читай марка лутца или как там его
Аноним 21/10/20 Срд 00:06:56 18358269
Пытаюсь джупитер поставить, выдает эту ошибку.
Гугл не помог


ERROR: Command errored out with exit status 1:
command: 'c:\python\python.exe' 'c:\python\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\user\AppData\Local\Temp\tmpqdnw1a52'
cwd: C:\Users\user\AppData\Local\Temp\pip-install-1bq6g5bg\argon2-cffi
Complete output (25 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\argon2
copying src\argon2\exceptions.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\low_level.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_ffi_build.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_legacy.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_password_hasher.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_utils.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\__init__.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\__main__.py -> build\lib.win-amd64-3.9\argon2
running build_clib
building 'argon2' library
creating build\temp.win-amd64-3.9
creating build\temp.win-amd64-3.9\extras
creating build\temp.win-amd64-3.9\extras\libargon2
creating build\temp.win-amd64-3.9\extras\libargon2\src
creating build\temp.win-amd64-3.9\extras\libargon2\src\blake2
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iextras\libargon2\src\..\include -Iextras\libargon2\src\blake2 -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\include /Tcextras\libargon2\src\argon2.c /Fobuild\temp.win-amd64-3.9\extras\libargon2\src\argon2.obj
argon2.c
extras\libargon2\src\argon2.c(18): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: string.h: No such file or directory,
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.27.29110\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
----------------------------------------
ERROR: Failed building wheel for argon2-cffi
Failed to build argon2-cffi
ERROR: Could not build wheels for argon2-cffi which use PEP 517 and cannot be installed directly
Аноним 21/10/20 Срд 00:39:38 183584410
>>1835826
>extras\libargon2\src\argon2.c(18): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: string.h: No such file or directory,
Вангую, что путь содержит кириллицу
Аноним 21/10/20 Срд 00:59:23 183584911

extras\libargon2\src\argon2.c(18): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: string.h: No such file or directory,


думаю, эта строчка поможет
Аноним 21/10/20 Срд 02:11:30 183585812
>>1835849
я камень видимо, но не помогло.
Я подумал о кодировке и кириллицу, но в пути ведь нет кириллицы
Аноним 21/10/20 Срд 03:10:30 183586813
Как научиться составлять однострочники все таки, что эта опыт?

Ебался с такой катой

Given a string of digits, you should replace any digit below 5 with '0' and any digit 5 and above with '1'. Return the resulting string.

решил так
https://www.codepile.net/pile/5xXGZOvb

Посмотрел в решениях у других, челики рили такое решают в одну строчку. Я еще сидел экспереминтировал в ипутоне больше часа. Хоноры дали, но слишком долго и многословно что то. Как прокачаться и начать мыслить быстрее? Много времени уходит на приведение одного типа в другой и обратно, то ли понимания нету то ли опыт то ли хз.
Аноним 21/10/20 Срд 03:17:05 183586914
image.png 160Кб, 312x445
312x445
>>1835818
зис
книжка ток в этом году вышла
сам её летом прошёл
Аноним 21/10/20 Срд 03:19:29 183587015
>>1835868
Нужна регулярка. Ты просто зачем-то сразу решил делать через инты, а не символы и не нашёл нужного инструмента.
Аноним 21/10/20 Срд 03:26:55 183587216
>>1835868
Решил твою задачку за минуту: "".join(["0" if int(x) < 5 else "1" for x in list(digits)]). Также можно решить при помощи регурярки >>1835870 но этот вариант лучше.
>Как научиться составлять однострочники все таки, что эта опыт?
Чисто опыт. Необходимо не только писать код, но и постоянно читать туториалы/документацию. Иначе про некоторые полезные вещи вообще никогда не узнаешь.
Аноним 21/10/20 Срд 03:33:18 183587317
>>1835872
Да, такое решение у анонов с кодворза. Ну есть к чему стремится. Я зацилен на переменных как у лутца) и на приведение типа. Но в целом, логика такая же как и в одну строчку, с проверкой и созданием нового списка.
Аноним 21/10/20 Срд 06:29:27 183589018
>>1835869
Может в книги треда ее залить, если нету?
Аноним 21/10/20 Срд 08:18:46 183592419
Вопрос про ботов в телеграме. Хочу отправить пачку фоток через их URL, есть структура данных (?) InputMediaPhoto. Как скастить в этот формат список URL?
Аноним 21/10/20 Срд 09:51:11 183595320
>>1835890
Залей, я не против.

>>1835924
Юзать модуль-обёртку для написания телеграм бота
Аноним 21/10/20 Срд 10:26:24 183595721
>>1835924
Видимо вот так: [InputMediaPhoto(url) for url in urls]
Аноним 21/10/20 Срд 13:45:44 183609722
Объясните, нужно ли писать object в декларации класса?
Типа class A(object)
В книге, которую я читал, говорили, что нужно. Это отличие между старыми классами и новыми.
Но когда я начал смотреть видосы этого года, то никто не пишет object.
Как правильно и почему?
Аноним 21/10/20 Срд 14:06:29 183610723
>>1836097
Когда ты пишешь в декларации класса что-то в скобках - ты наследуешься от этого класса в скобках, хз как раньше, но сейчас все классы наследуются от object, писать этого не надо, если не хочешь наследоваться от его-либо специально(например хочешь свою убер строку сделать с каким-то методом)
Аноним 21/10/20 Срд 14:28:13 183613324
image.png 186Кб, 769x765
769x765
>>1835577 (OP)
Я нашел для себя решение в изучении чего-то нового. Решил поучить Python и вроде помогает, реально отпускать стало. Но вот в чем беда, я скачал учебник чуть ли не по первой ссылке, поставил PyCharm, анаконду3, питон 3.9, но, сука, чем ближе я был к 10-ой главе, тем больше у меня вопросов появлялось "а это тут, блядь, откуда?".
В седьмом уроке используют лямбда-функцию и сразу же говорят, мол, что такое лямбда-функция вы узнаете в 10.4. То есть просто пустой пример, который я просто понять не смогу на 100% потому как нихуя еще не объяснили. Сейчас дошел до десятого урока с функциями и ебался полчаса с фибоначчи. Дело в том, что нигде не сказано что и как и где использовать - то есть если я в командной строке вбиваю, то там заебывает отступы делать, а в PyCharm, естественно, приходится создавать переменную для ввода (а ведь нигде мне этого не говорят, пришлось самому дойти). Там вообще автор внутри функции расчет двух ближайших чисел делает, сука, опять же с функцией и у него зачем-то сделано так fibb(n - 1) + fibb(n - 2), в самом начале есть проверка на ноль, единицу и двойку, но, блядь, получается что вот это ELSE еще и внутри скобок проверяет что написано. Ввел просто return n + (n - 1) и все заработало как часы.
Но, блядь, я тут не ради бугурта.
Хотел спросить - есть прям для отбитых ебланов вроде меня учебники, чтобы там все последовательно объясняли в примерах?
Я же ебнусь.
Вон уже в лямбда-функции этот даун какой то prod = 1 пишет, а я не ебу что это.
Аноним 21/10/20 Срд 14:34:19 183613425
>>1836133
Вы блять шапку читать будете?
В шапке ясно написано какую книгу читать надо.
Аноним 21/10/20 Срд 14:37:19 183613826
Такой вопрос как реализовать по синтаксису такую вложенность как
for x in lan:
for y in x:
for z in y:
пискька писька писька

Чтобы было так сосиська = [вот чтобы так как сверху было тут, как это сделать для писки в y]
Аноним 21/10/20 Срд 14:40:11 183614127
>>1836134
Где там конкретика? Нет там такого запроса "учебник для отбитых ебланов". Вот и ебись перелистывая все что нарыли за столько лет. Я тут у людей с опытом спрашиваю, ибо то что я сейчас читал - пиздец.
Аноним 21/10/20 Срд 14:47:26 183614628
>>1836133
Это не учебник, это конспект какой-то. "Вот есть такая штука как функция. А вот хвостовая рекурсия. А теперь следующая тема", как ты ещё держишься после такого.
>>1836138
[z for x in lan for y in x for z in y]

Аноним 21/10/20 Срд 14:53:18 183614829
>>1836146
>"Вот есть такая штука как функция. А вот хвостовая рекурсия. А теперь следующая тема", как ты ещё держишься после такого.
Я чет подумал сначала что просто недостаточно внимательно читаю, поэтому начал уже в интернете смотреть, но да, дошел до момента когда просто уже не понимаю что хочет автор донести и решил прям совсем для начинающих учебник найти.
Аноним 21/10/20 Срд 15:09:35 183615430
Срочно хелп, написал скрипт небольшой, писал на линуксе и теперь пытаюсь запустить его на винде, проблема в том что pip не устанавливается с питоном(в cmd pip help и остальные команды не работают), что делать у меня сроки горят щас, в чем может быть проблема, мне надо написать инструкцию по установке скрипта на виндус, помогите пожалуйста
Аноним 21/10/20 Срд 15:16:14 183615731
>>1836154
Пиздец, у меня из cmd пишет что даже python нет команды, при установке нажимал кнопку добавить в path, почему на винде вообще люди сидят я не понимаю
Аноним 21/10/20 Срд 15:18:06 183615832
>>1836148
Ничего не могу посоветовать, те книги, что совсем для новичков, максимально скучные, когда дойдешь до чего-то интересного, уже силы на исходе. Я бы лучше выбрал совсем маленькую задачу для решения и уже по ней читал что необходимо. Хоть понятно что зачем нужно.
>>1836154
Если десятка, то из магазина приложений скачай и не страдай. И попробуй в powershell команду выполнить (get-command python).path
Аноним 21/10/20 Срд 15:29:58 183617533
>>1836158
Все решилось, когда я перезапустил cmd, я просто в шоке с винды
Аноним 21/10/20 Срд 15:45:14 183618734
Screenshot20201[...].png 321Кб, 1440x2560
1440x2560
Аноним 21/10/20 Срд 15:55:10 183619135
Аноним 21/10/20 Срд 15:59:41 183619336
>>1836187
Когда начинал изуть по укусу тоже было непонятно некоторое как и анону выше, автор что-то рассказывает про цифры, а потом начинает какие-то строковые методы юзать и ты читаешь думая что ты что-то пропустил
Аноним 21/10/20 Срд 16:53:58 183623037
Поясните, как работает .update?
Почему оно то перетасовывает всё, то оставляет на местах, то ещё как-то делает, я не понимаю.
Аноним 21/10/20 Срд 16:57:13 183623138
image.png 12Кб, 505x246
505x246
>>1836230
почему цифры идут нормально, а если слова, то пиздец?
причём слова почти всегда в конце.
Аноним 21/10/20 Срд 17:19:48 183624539
Чем можно регэксить спецсимволы типа {}"",/.?
В \w их нет.
Аноним 21/10/20 Срд 17:19:55 183624640
>>1836231
Это множества, в них порядок не гарантирован
Аноним 21/10/20 Срд 17:21:58 183624941
Какой самый продвинутый opensource фреймворк для создания ботов?
Очень интересует общий интерфейс для нескольких чат платформ и возможность написания своих адаптеров

+ какая-нибудь встроенная поддержка/примеры с nlu
Аноним 21/10/20 Срд 17:22:25 183625042
>>1836231
Есть подозрение, что раз множество - хэш таблица, а хэш числа почему-то равен самому числу (1).__hash__() == 1, то поэтому цифры идут нормально.
>>1836245
экранированием?
Аноним 21/10/20 Срд 17:24:28 183625143
>>1836231
Потому что от множеств не требуется порядок, их делают для упрощения операции проверки вхождения.

Ах да, охуительный момент: порядок элементов множества меняется от запуска интрепретатора к запуску интерпретатора, потому что там используются рандомизированные хэш-таблицы. А в дикте гарантируют сохранение порядка добавления ключей.
Аноним 21/10/20 Срд 17:55:00 183628244
>>1836246
>>1836250
>>1836251
окей, хэш, нет порядка, но почему в конце всегда есть 2 слова?
Аноним 21/10/20 Срд 21:09:47 183642045
изображение.png 10Кб, 497x390
497x390
изображение.png 15Кб, 502x390
502x390
Начал тут изучай питон. (Раньше я только с вашей помощью "допесывал" чужой код под свои нужды)
Ну и начал с основ. Тем более у вас под любую хуету есть функции, методы. Охуенно. Полез на кодварс и сижу кайфую.

Обьясните дегенерату. Почему 1 не работает адекватно, и не находит длину кратчайшего слова, а второе нормально работает? По сути нет разницы ведь. Элька только потом, после всех слов должна выйти из цикла и ретурнутся. А по итогу она находит первое же слово меньше 10(Потом сменил на 99 чтобы наверняка) и идет радовать проверку. ЧЗХ?
Аноним 21/10/20 Срд 21:14:33 183642346
Посоветуйте легкую иде для слабого ноута 32 бита
Аноним 21/10/20 Срд 21:45:18 183643247
>>1836423
>Посоветуйте легкую иде для слабого ноута 32 бита
Встроенную в пистон юзай
Аноним 21/10/20 Срд 21:59:33 183644148
>>1836420
Потому что первая функция возвращает последнее слово, длинна которого меньше 10, а вторая находит слину первого слова, если 2-е будет короче, то запишет в а переменную длину 2-го и так пока не надет самое короткое
Аноним 21/10/20 Срд 22:12:08 183646149
>>1836441
Бля, я дегенерат, не заметил что обьявил а, но никак не менял его в цикле.
Спасибо. :3

Аноним 21/10/20 Срд 23:03:33 183649950
Как это на питоне написать? Я не могу уже.
for (int i = 0; i < array.length; i++)

чтобы i была, для алгоритма перебора нужно
Аноним 21/10/20 Срд 23:06:30 183650551
Аноним 21/10/20 Срд 23:09:17 183651052
image.png 7Кб, 643x59
643x59
Аноним 21/10/20 Срд 23:12:08 183651553
>>1836510
>мда
Замени string.length на len(string). А вообще, лучше пиздуй читать туториалы. У тебя знания на нуле.
Аноним 21/10/20 Срд 23:13:06 183651854
>>1836510
Размер в питоне не метод, а функция len()
Аноним 21/10/20 Срд 23:13:58 183652055
1603311236876.jpg 170Кб, 977x889
977x889
Только посмотрите на этого Чэда
Аноним 21/10/20 Срд 23:16:47 183652556
>>1836515
я просто к этому синтаксису не могу привыкнуть
Аноним 21/10/20 Срд 23:18:39 183652957
изображение.png 82Кб, 1826x763
1826x763
изображение.png 21Кб, 768x747
768x747
Я не понел.
Я ебанул у себя на компе лист из 1910 чисел. (i3, и 4гб оперативы)
Вмиг выполнилось.
А тут видите ли таймаут.
Кто-нибудь может попробовать ради досуга выполнить этот тест и сказать что все окей? Или просто создатель теста пидор и поломал проверку?
https://www.codewars.com/kata/5ce399e0047a45001c853c2b
Аноним 21/10/20 Срд 23:23:04 183653458
>>1836529
>А тут видите ли таймаут.
У тебя потенциально бесконечный цикл. Твой алгоритм не работает на каком-то из тест кейсов.
Аноним 21/10/20 Срд 23:29:25 183654059
изображение.png 46Кб, 1819x711
1819x711
>>1836534
Ну хуй знает. Ладно. Щас посмотрим.
Но базовые тесты он выполняет. (Нулевые листы, простые, большие листы. мой лист с огромным кол-вом цифр, минусовые листы)
Meh.
Аноним 21/10/20 Срд 23:37:00 183654360
Какие есть курсы или книжечки для вката в aiohttp? И прочее такое.
Аноним 22/10/20 Чтв 00:01:08 183655061
>>1836543
Понимание как работает средний питонячий микрофреймворк + понимание питонячьей асинхронности и умение не наебаться на race condition
Аноним 22/10/20 Чтв 00:05:50 183655162
>>1836540
Лист с 60000 цифрами таки уводит питон в даун. Он ОЧЕНЬ долго обрабатывает.
Но каким макаром я должен написать прогу так чтобы медленный питон смог обработать такой лист за 12000мс?
Аноним 22/10/20 Чтв 00:07:23 183655263
Так и не пояснили в чем суть кумитэ на кодворзе
Аноним 22/10/20 Чтв 00:15:00 183655364
>>1836552
Чем меньше - тем сложнее. Ты про это?
Аноним 22/10/20 Чтв 00:16:18 183655465
>>1836525
после плюсов несколько месяцев привыкал
Аноним 22/10/20 Чтв 00:17:12 183655566
>>1836553
Нет, это типо батла или что? Или то же что и каты только другое) что это вообще такое то?
Аноним 22/10/20 Чтв 00:56:53 183657367
Аноним 22/10/20 Чтв 01:39:02 183658368
>>1836551
ну вот нахуя каждый раз сумму вычислять например?
достаточно и одного раза за обращение к функции.
Аноним 22/10/20 Чтв 01:44:14 183658469
>>1836583
Но там же меняется список. Там нужно первые части списка удалять за прокрут, пока их не останется.
Сумма по итогу будет меняться. Как мы один раз за вызов обращаться будем?

Бляяяяя. Ведь можно удалять передние и тупо вычитать из суммы. Щас. Погоди.
Аноним 22/10/20 Чтв 01:51:58 183658570
Зачем постоянно дрочить добавление/удаление? Это хуевоскпзывается на скорости. Просто создай второй список с нулями на один больше первого и проитерируйся с предпоследнего элемента, присваивая list2 = list2[i+1]+list1
Аноним 22/10/20 Чтв 01:53:03 183658671
>>1836585
Квадратные скобки с i проебались, но думаю и так понятно
Аноним 22/10/20 Чтв 02:14:41 183658772
Screenshot20201[...].jpg 209Кб, 1080x2376
1080x2376
Аноним 22/10/20 Чтв 02:16:17 183658973
изображение.png 49Кб, 1291x629
1291x629
Решил. Здравая идея про суммирование один раз. >>1836583
Благодарочка.
Извиняюсь что насрал, просто интересная задача.
>>1836587
Я так же сделал.
Аноним 22/10/20 Чтв 02:19:22 183659074
>>1836589
Зачем ты индексы юзал, если можно просто по списку итерироваться?
Аноним 22/10/20 Чтв 02:21:31 183659175
>>1836590
Я не умею.
Щас почитаю.

Это нужно?
Аноним 22/10/20 Чтв 02:22:54 183659276
>>1836591
Это делает код красивым, ещё про сокращённое присваивание посмотри, это штуки вроде *= -= += и тд
Аноним 22/10/20 Чтв 02:27:31 183659377
изображение.png 13Кб, 897x231
897x231
Как переустановить сломавшийся pip на винде?
Аноним 22/10/20 Чтв 02:34:38 183659478
>>1836589
На питоне 3.8 можно сделать в одну строчку и с аналогичной производительностью:

(lambda s: + [s := s - l for l in ls])(sum(ls))
Аноним 22/10/20 Чтв 02:37:01 183659579
image.png 3Кб, 531x40
531x40
Аноним 22/10/20 Чтв 02:48:16 183659680
>>1836595
У нас за такие однострочники убивают, исключительно олимпиадная хуйня
Аноним 22/10/20 Чтв 02:53:36 183659781
>>1836596
Почему олимпиадная? Там есть ограничение на количество строчек?
Аноним 22/10/20 Чтв 03:20:17 183660082
>>1836596
>У нас
У вас в манямирке еще не научились в генераторы или что?
Аноним 22/10/20 Чтв 04:50:27 183661083
>>1836597
Меня просто корежит с такого названия переменных и юзания длинных однострочников
Аноним 22/10/20 Чтв 05:57:04 183661884
>>1836600
Причем тут генераторы? Просто такие однострочники сложнее читать + изменять.
Вот это >>1836587 выглядит намного лучше.
Аноним 22/10/20 Чтв 07:40:29 183663085
Screenshot from[...].png 10Кб, 549x111
549x111
В 3.8 лучше вот такой однострочечник делать, используя стандартную библиотеку

В 3.8 добавили в itertools.accumulate параметр initial, без него сложнее, надо уже более извращённую функцию самописную подставлять, что менее читаемо и медленней.
Аноним 22/10/20 Чтв 07:54:46 183663486
Screenshot from[...].png 18Кб, 553x164
553x164
>>1836630
Хотя вру, в старых версиях питона ничуть не сложнее, но надо на вход другой подать список, где первым будет инициализирующее значение. Чуть менее наглядно просто
Аноним 22/10/20 Чтв 09:18:15 183665587
>>1836634
Блять вы тролите чтоли со своими обосрачниками? Нахуя они вам сдались? Есть ли аргументы в их пользу?
Аноним 22/10/20 Чтв 10:28:30 183668288
image.png 30Кб, 638x291
638x291
Есть массив, который хранит буквы слова.
Нужно, чтобы после ввода этот элемент удалялся.
прописываю через pop и remove, но меня шлют нахуй
Аноним 22/10/20 Чтв 10:32:57 183668689
>>1836655
>Нахуя они вам сдались? Есть ли аргументы в их пользу?
Однострочники нужно писать когда они выполняют понятное действие, которое можно описать одним предложением. Хорошо написанные однострочники читаются легче, чем говнокод с циклами. Вдобавок, код получается компактнее без ущерба читаемости, а значит его легче поддерживать.

Однострочники не нужно писать исключительно ради запихивания кучи кода в одну строку. Не можешь коротко описать что делает строка - не пиши однострочник. Но и говнокод вроде этого >>1836589 >>1836587 писать тоже не нужно.
Аноним 22/10/20 Чтв 10:45:54 183669890
>>1836682
Ты проходишь по списку попутно удаляя из него элементы, не надо так делать. range(len(array)) - тоже делать не надо, есть enumerate. Попробуй сделать с помощью filter или list comprehension. Или обожди немного, тебе однострочник принесут.
Аноним 22/10/20 Чтв 11:03:18 183671491
>>1836682
>но меня шлют нахуй
Как именно?

Что такое random_array и dash?

Вообще, глянь на модуль random, и функции оттуда вроде random.shuffle и random.choices. Возможно они делают то, что ты хочешь сделать сам, при этом не самым оптимальным образом.

Ещё у тебя не питон-стиль кода. Вместо
for i in range(len(xxx)):
____print("{}-value is {}".format(i, xxx)

лучше делать
for i, x in enumerate(xxx)
____print("{}-value is {}".format(i, x])

Но это чисто стилистические придирки
Аноним 22/10/20 Чтв 11:07:43 183671792
image.png 17Кб, 424x467
424x467
>>1836714
>random_array
слово, каждая буква которого это элемент массива.
dash это прочерки.
нужно просто сделать, если элемент уже был использован, чтобы он не использовался снова, хотел его из массива удалить, но ошибка.
делал через set, оно удалялось, но через сет позиция элементов была не верной и это не имело смысла
Аноним 22/10/20 Чтв 11:14:40 183672193
Как это записать?
Выводится строка в которой каждая четвертая буква, кроме пробелов, удваивается.
Аноним 22/10/20 Чтв 11:27:00 183672494
image.png 17Кб, 482x254
482x254
Аноним 22/10/20 Чтв 11:29:20 183672695
Аноним 22/10/20 Чтв 11:30:13 183672896
Аноним 22/10/20 Чтв 11:35:27 183673397
Muttley.gif 15Кб, 138x213
138x213
>>1836721
''.join([l*2 if not (i+1) % 4 and l != ' ' else l for i,l in enumerate('моя замечательная строка')])
Аноним 22/10/20 Чтв 12:01:06 183674698
>>1836728
не, хуита, читаемость хуевая, я вообще не знаю че за акумулейт
Аноним 22/10/20 Чтв 13:19:19 183683499
Стоит ли сдавать тест от Python Institute? Думаю PCAP пройдк
Аноним 22/10/20 Чтв 13:38:04 1836861100
Аноним 22/10/20 Чтв 15:13:22 1836953101
Актуален ли Python в вебе? Нравится изучать Django и пилить с помощью него сайты, но вот инфа в интернете сбивает с толку, что лучше "КО-КО-КО Интерпрайз, больше работы, Java, больше работы" и типа Python больше для машинного обучения юзается.
Аноним 22/10/20 Чтв 15:16:43 1836956102
Аноним 22/10/20 Чтв 15:19:34 1836959103
>>1836746
Стандартную библиотеку очень полезно знать, дурной стиль её не знать.

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

Однострочечники нужны скорее для рутины, чтобы меньше воды в коде было и он понятнее был. Те же генераторы списков и словарей великая вещь, благодаря своей компактности.
Аноним 22/10/20 Чтв 16:09:28 1836992104
Не могу сообразить.
Как впихнуть счетчик в строку?
Чтобы число в строке увеличивалось на 1, n +1.
Типо так
"1table2table3table"
Юзал f'' но там впихивается например весь список. Хз как сделать, сломал голову уже. И вайл пробовал и списки и генераторы и range.
Аноним 22/10/20 Чтв 16:10:01 1836993105
Почему pienv фиксирует вместо версии "*"? Можно ли его заставить запоминать хотя бы мажорную версию? Или только руками?
Аноним 22/10/20 Чтв 16:22:34 1837004106
image.png 341Кб, 486x695
486x695
Снова выхожу на связь. Вроде разобрался как с БД работать.
Суть в том что у меня есть эксел файл куда я вписываю каждый месяц сколько у меня денег в трёх разных заначках. Решил сделать телеграм бота, который делает тоже самое.

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

Все что требуется, это потыкать пару раз /add и /show можете еще перед этим фейковые данные вставить /fill

Сам бот https://t.me/money_buckets_bot
Код https://github.com/gmovchan/PersonalFinance

>>1833647 →-кун
Аноним 22/10/20 Чтв 16:33:51 1837014107
2020-10-2216-33[...].png 5Кб, 444x124
444x124
Аноним 22/10/20 Чтв 16:35:47 1837015108
2020-10-2216-35[...].png 6Кб, 322x185
322x185
Аноним 22/10/20 Чтв 16:43:51 1837028109
>>1836953

актуально, в целом, но джанга сдувается.
много проектов на фастапи или graphql на старлет
Аноним 22/10/20 Чтв 16:52:17 1837046110
16033744114350.mp4 1017Кб, 720x406, 00:00:11
720x406
Часто спрашивают "Что должен уметь ждун?".
Пример идеального ждуна, пикрил.
Аноним 22/10/20 Чтв 17:03:37 1837063111
>>1837046
Часто спрашивают "Что должен уметь автоэлектрик?".
Пример идеального автоэлектрика, пикрил.
Аноним 22/10/20 Чтв 17:04:05 1837065112
16002665598800.webm 2386Кб, 460x812, 00:00:19
460x812
Аноним 22/10/20 Чтв 17:14:52 1837070113
>>1837046
ебал я такой метод форматирования.
лучше f- сторок ничего нет.
Аноним 22/10/20 Чтв 17:51:26 1837099114
На чем лучше писать алгоритмы из линейной алгебры? Numpy норм или есть что-то более специализированное?
Или вообще все хуйня и писать на C++ std::vector?
Аноним 22/10/20 Чтв 17:53:01 1837101115
>>1837099
Если хочешь дрочить цифры и не вылезать особо из питона то юзай cython
Аноним 22/10/20 Чтв 21:57:19 1837255116
Screenshot1051.png 7Кб, 789x169
789x169
выдает ошибку на 3 строчке при отладке. хелпуйте. что я сделал не так?
Аноним 22/10/20 Чтв 22:43:46 1837288117
Как сделать проверку по трем массивам?
Вот у нас есть три ренжа, как написать
if zalupa == range1 or zalupa == range2 or zalupa range3:
    do something pizdets.
Аноним 22/10/20 Чтв 23:35:30 1837336118
>>1837028
Тогда можно сказать что Flask/Pyramid заменит Django?
Аноним 22/10/20 Чтв 23:47:12 1837347119
У меня такой вопрос.

Как в питоне впихивают код С и явы для ускорения? Это сильно сложно, напр если написать что-то на С, как можно это реализовать или интегрировать с питоном.

И если питон такой крутой, расширеямый и тд, то почему он не намбер ван пока? Ведь рили, он может все, что могут другие, при том проще в разц и понятнее, а главное порог - практичеки нулевой. Не считая знания высших математик и алгортитмов. Но если не изобретать велосипедов, но способов метамыслить от силы 7 не более, простая логика. А?
Аноним 22/10/20 Чтв 23:53:48 1837352120
Бля, играю на кодварс, пишу решения в лоб по 20-30 строчек.
Захожу в решения, а там решения в одну строчку. В пять строчек максимум.
Блееее.
Аноним 22/10/20 Чтв 23:55:09 1837353121
>>1837352
Все норм чел, сейм шит. Уже стало получаться практически в одну строчку. Ты не один.
Аноним 22/10/20 Чтв 23:55:29 1837354122
>>1837352
Мне кажется эти кодварс ничему не учат. Лучше книжку почитать.
Аноним 22/10/20 Чтв 23:59:55 1837356123
>>1837354
Вот тут ты ошибаешься если не троллишь)
Наоборот, после укуса питона, онли кодворз и практика. Только так, знал бы раньше не потратил 3 года впустую давно бы уже кодил и мб даже наашел работку.
Аноним 23/10/20 Птн 00:08:31 1837358124
>>1837353
Ну реально. Пишу код. 10 строчек. По итогу.
В решениях ровно одна строка которая является функцией, что исполняет саму задачу.
Или всякие константы которые на нет сводят мою еблю с проверкой через циклы.
return pizdets is ascii
И все ебать.
Да, по скорости одинаково ибо в этих функциях все такие же проверки через циклы.

Где бы найти списочек всяких полезных функций?
Аноним 23/10/20 Птн 00:11:23 1837359125
>>1837288
if zalupa in(range1,range2,range3):
do something pizdets.
Аноним 23/10/20 Птн 00:12:55 1837360126
>>1837356
Ты тот года одну книгу читал?
Аноним 23/10/20 Птн 00:16:45 1837361127
>>1837358
стандартная библиотека питона в помощь, вместо дрочки на ночь, читаешь про 2-3 метода.
На практике их повертишь , в голову отложится, что такая еба есть и реализовывать ее с нуля не надо.
Аноним 23/10/20 Птн 00:20:54 1837362128
Аноним 23/10/20 Птн 00:24:28 1837365129
>>1837358
Ну а гугл?
Во многих заданиях есть подсказки да и по контексту можно найти нужную либу.
Аноним 23/10/20 Птн 00:36:34 1837370130
>>1836630
> Ваш однострочник говно
> Вот мой однострочник, импортирующий 2 либы для того же самого - заебись
С какими, блять, шизоидами я тут сижу. У одного, блять, читаемость хуевая, другой это делает. Боже.
Аноним 23/10/20 Птн 00:54:59 1837383131
Аноним 23/10/20 Птн 02:29:05 1837419132
>>1837347
Яву в питон? Нахуя?
1) питон медленнее Java, C++, C#
2) про расширения есть в документации
3) питон около интерпрайз. В плане функционального языка его потеснил Go, для крудхуяков есть Spring.
Сам не рад, но такая ситуация. Например в ДИТ стэк Spring/Angular и вряд ли ситуация изменится.
Никто не хочет отходить от SOA к микросервисам.
Это накладные расходы.
Питон кстати в плане оверхеда тот ещё пиздец. В одно рыло написать код куда ещё не шло, а вот по ресурсам он очень прожорлив. 3.9 кстати медленнее 3.8 и в релизе так и не решили проблему с многопоточностью.
Может 3.10 будет поживее. Алсо, если в шарпе и Яве ещё нужны все алгоритмы от gang of four, то это не про питон. Тут все проще и не надо изобретать велосипед. Код понятнее, абстракции реже встречаются.
Опять же, в плане расширения хуже.
Аноним 23/10/20 Птн 02:52:32 1837422133
Аноним 23/10/20 Птн 02:55:39 1837423134
>>1837356
Чем кодварс помогает на практике? Я понемногу вкатываюсь в эти ваши генераторы и т.д, но чтобы написать большую часть простой хуйни сложные решения и не нужны, да и код проще поспринимать как по мне без генераторов с лямбдой на 100 символов, уж лучше написать нормальный цикл и четко прописать что с чем происходит
Аноним 23/10/20 Птн 02:57:52 1837424135
>>1837423
Тем что я практикуюсь, а так я прочитал книгу и сижу. А по итогу, если суть да дело - я нихуя не смогу, а так я уже хоть что-то делаю, читаю ту же книгу, но просто по гуглу) и пишу код, хотя бы так, пока бесплатно.
Аноним 23/10/20 Птн 03:12:35 1837429136
>>1837424
То что я узнал, я постоянно закрепляю, копаюсь в гугле, изучаю и перечитыавю. Где-то углубляюсь. Так что польза есть, это практика. Качаю стандартную либу и тд и тп. Надеюсь поможет. Это лучше чем ничего.
Аноним 23/10/20 Птн 03:16:31 1837430137
>>1837423
>да и код проще поспринимать как по мне без генераторов с лямбдой на 100 символов, уж лучше написать нормальный цикл и четко прописать что с чем происходит
Это сейчас проще, но через два-три года тебя заебет постоянно писать циклы.
Аноним 23/10/20 Птн 03:20:21 1837431138
Как пофиксить если вылазиет KeyError 2
Дело вот
функция возращает ключ, те аргумент функции - это ключ. Трабла если не ключ а просто число например, если число надо написать строчку. Как пофиксить?
Аноним 23/10/20 Птн 03:34:58 1837436139
>>1837424
В хороших книгах есть упражнения.
Аноним 23/10/20 Птн 04:02:30 1837437140
Если столько еботы на кодворзе, то сколько ее будет в офисе?
Например, если я туплю уже второй день, и если так будет в офисе, то что будет? Просто хз, есть сложные вопросы, если я их не смогу решить, то... меня тупо дропнут? Или помогут?
Аноним 23/10/20 Птн 04:32:45 1837442141
>>1837423
>уж лучше написать нормальный цикл и четко прописать что с чем происходит
Ты молодой-зеленый, поэтому не понимаешь чем императивное программирование сосёт в 2к20.
Аноним 23/10/20 Птн 06:28:27 1837460142
>>1835577 (OP)
Сап двач

Выбираю инструмент чтобы запилить на коленке учет орг техники (очень простой).

Думаю взять sqlite и python. Нужен фреймворк ui чтобы под виндой и линкусом запустился. Что посоветуете?

Там по сути crud приложение получается. Добавлять данные в таблицу, перемещать их в другую, занося лог в третью. Все.
Аноним 23/10/20 Птн 08:52:57 1837490143
Аноним 23/10/20 Птн 09:03:40 1837492144
Аноним 23/10/20 Птн 09:22:24 1837498145
Аноним 23/10/20 Птн 09:53:09 1837508146
>>1837492
Хуэль

Исторю перемещения аппаратуры тоже в экселе писать будешь?
Аноним 23/10/20 Птн 10:16:59 1837527147
Аноним 23/10/20 Птн 10:47:50 1837548148
>>1837508
Да. А в чём проблема?
Аноним 23/10/20 Птн 10:51:17 1837550149
Аноним 23/10/20 Птн 11:22:22 1837558150
>>1837442
И поэтому ты сидишь на языке, где от функциональго программирования только огрызки и нет даже многострочных лямбд
Аноним 23/10/20 Птн 11:23:53 1837560151
Аноним 23/10/20 Птн 12:44:03 1837596152
Что нужно знать/уметь для получения всяких вакансий за 20к?
Видел такую, прям загорелся. Чисто опыт и деньги на простую еду.
Аноним 23/10/20 Птн 12:56:50 1837606153
>>1837596
Python на нормальном уровне, базу Flask/Django
Аноним 23/10/20 Птн 13:23:52 1837625154
>>1837596
В вакансии, которую видел, должно быть написано, что надо уметь и знать.
Аноним 23/10/20 Птн 14:43:35 1837676155
asw=string.translate(None, 'aeiouAEIOU')
Бля, в интернете пишут как убрать гласные. А компилятор пишет что транслейт жрет только один аргумент. При создании тейбла низя выбрать пустую строку, или none. Нужно одинаковый размер.
re.sub какую-то хуйню пишет.
Строки в питоне не изменяются и ебануть цикл аля С низя, или я тупой(Охуенное решение, ога, сделать строки неизменяемыми)
Бля, я не понимать.
Аноним 23/10/20 Птн 14:45:02 1837678156
А. Стоп. Тейбл жрет deletechar.
Все, сорян.
Аноним 23/10/20 Птн 14:57:44 1837695157
изображение.png 23Кб, 1239x380
1239x380
изображение.png 12Кб, 708x186
708x186
Как это? Как так то?
Аноним 23/10/20 Птн 15:02:49 1837700158
>>1837596
Программисты, которые ничего не умеют, не нужны, даже бесплатно.

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

Но с этим лучше в два первых треда.
Аноним 23/10/20 Птн 15:13:07 1837712159
>>1837695
Смотри доки. Метод translate принимает словать, где аски-код входа, то есть число, отображается на аски-код того, что будет в результате.

Есть специальный метод str.maketrans для подготовки подобной таблицы.

Очень всё криво и убого, не понятно, почему не выпилили.

Лучше используй другой подход
вариант A, топорно, в функциональном стиле:
s.replace('a', '').replace('A', '').replace('o', '') ...
и т.д.

Или императивный вариант:
"".join([letter for letter in s if letter not in "aueoAUEO"])
Аноним 23/10/20 Птн 15:18:25 1837717160
>>1837712
Ну там в решениях написано два аргумента. Значит у них это работает. А если скопирую решение то оно не запустится. Как это? Баги в Кате?
(По итогу решил с помощью создания таблицы которая оказывается может принимать три аргумента. И последний аргумент это символы которые надо удалить)
За второе спасибо. Неплохо выглядит. Надо почитать join.
Аноним 23/10/20 Птн 16:20:22 1837769161
image.png 10Кб, 968x82
968x82
>When parse_args() is called, optional arguments will be identified by the - prefix, and the remaining arguments will be assumed to be positional:
>ValueError: invalid option string 'PATH_UNPACKED': must start with a character '-'
Тупое говно тупого говна
Аноним 23/10/20 Птн 16:30:44 1837778162
А вообще стало получаться, и так проще рили
double_char = lambda s: ''.join([x+x for x in s])
И читается вроде норм и что делает тоже понятно. И в одну строчку. Буду качать дальше.
Аноним 23/10/20 Птн 16:37:57 1837782163
Аноним 23/10/20 Птн 16:41:05 1837787164
Аноним 23/10/20 Птн 18:22:09 1837879165
Анончик, подкинь пожалуйста идею для пет-проекта на джанго/фласк. Блог/туду как-то скучно делать
Аноним 23/10/20 Птн 18:29:32 1837888166
Аноним 23/10/20 Птн 19:10:33 1837920167
>>1837769
Чё бомбишь?
Если ты хочешь, чтобы это были опциональные аргументы - не выёбывайся и ставь '--' в начале.
Аноним 23/10/20 Птн 19:13:27 1837926168
>>1837879
Каталог, какие книжки есть, а какие надо бы спиздить.
Можно опционально добавить парсинг всяких амазонов или каталогов на предмет обложечек-категорий и сканирование локальных пдфок.
Сам всё хочу сделать, но лень.
Аноним 23/10/20 Птн 19:59:04 1837969169
Можно ли разделить строку по разделителю, но чтобы сам разделитель остался, просто перед ним появился бы пробел?
Аноним 23/10/20 Птн 20:01:52 1837975170
Аноним 23/10/20 Птн 20:03:34 1837976171
>>1837975
Есть строка. Допустим хуй\рот\жопа
Как разделить по слешу чтобы получилось хуй \рот \жопа
Аноним 23/10/20 Птн 20:05:42 1837981172
>>1837976
Добавь пробелы перед разделителем.
Аноним 23/10/20 Птн 20:15:43 1837990173
>>1837976
Ну простой и не слишком убогий вариант это заменить твой разделитель на новый + твои добавки.
Т.е. str.replace('/', '\x00 /').split('\x00')
Аноним 23/10/20 Птн 20:18:25 1837996174
Аноним 23/10/20 Птн 20:25:46 1838005175
Кто-нибудь юзаете graphene? Как-то херово его pycharm поддерживает. Может надо что донастроить?
Там, вообще нет никаких по полям, при написании запросов не подхватывает - грусть. На js как-то веселее было.
Аноним 23/10/20 Птн 20:47:12 1838026176
Аноним 23/10/20 Птн 20:51:00 1838029177
>>1837550
Должно быть, ты хотел сказать PySide2
Аноним 23/10/20 Птн 21:42:46 1838078178
>>1835577 (OP)
Друзья, здравствуйте.
Нужно для пары олимпиады выучить на базовом уровне данный чудо язык, особо дел с ним не имел, в основном всякие паскали, с, баши итд.

Какую книжку выбрать чтобы за пару дней вникнуть максимально кратно, но понятно?
Аноним 23/10/20 Птн 23:28:19 1838136179
>>1837920
Спасибо за ответ, но я уже всё пофиксил.
Документация плоховато сделана. Реально можно делать позиционный аргумент опциональным через nargs='?', но это ещё прочитать надо.
Аноним 24/10/20 Суб 00:11:12 1838163180
>>1838026

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

Ты не юзаешь?
Аноним 24/10/20 Суб 00:39:59 1838181181
Аноним 24/10/20 Суб 00:59:32 1838195182
>>1838181
Мне бы не фор беггинерс, некоторые знания уже есть. Желательно где меньше воды и больше практики
Аноним 24/10/20 Суб 01:09:55 1838203183
>>1838195
Пропусти объяснения и сразу переходи к упражнениям.
Аноним 24/10/20 Суб 01:35:34 1838212184
изображение.png 76Кб, 710x702
710x702
Что-то мне кажется что тут без сторонних библиотек не обойтись.
Ибо писать самому простенькое, но все же решение уравнения с неизвестным количеством переменных прям как-то сложновато.
Кроме как нахуярить огромное количество ифок. Но это будет сложно.
Видимо не время для 4 уровня.
Аноним 24/10/20 Суб 01:37:36 1838213185
>>1836191
Какие плюсы по сравнению с другими?
Аноним 24/10/20 Суб 03:17:57 1838237186
>>1838212
У тебя же всего 10 вариантов, не?
Аноним 24/10/20 Суб 03:38:18 1838242187
изображение.png 24Кб, 975x237
975x237
>>1838212
9 вариантов если корень один(3 оператора*3 варианта)+еще 9 если корней два.
Учитывая что там какой-то ебанутый выбор если корней два и так как они представлены областью(самое меньшее число нужно отдать.) (Единичка в нижние тесты тоже лезет, но там двойка. Как бля?)
Еще и корней может не быть, да и корни должны быть подходящей длины, и не являться флоатом. Я охуею это все ифать.
Аноним 24/10/20 Суб 03:38:40 1838243188
Аноним 24/10/20 Суб 03:42:09 1838246189
>>1838242
О, еще не заметил что ? может быть и в почти полном числе.
Аноним 24/10/20 Суб 03:47:16 1838252190
def solve_runes(runes):
for x in range(10):
try:
if (str(x) not in runes) and not(x==0 and '=??' in runes) and eval(runes.replace('?', str(x)).replace('=','==')):
return x
except:
continue
return -1
Аноним 24/10/20 Суб 03:48:04 1838253191
1.png 10Кб, 972x146
972x146
Аноним 24/10/20 Суб 03:50:52 1838256192
Аноним 24/10/20 Суб 03:57:30 1838259193
>>1838212
Решать такие задачки не имеет никакого смысла.

Все эти задачи можно условно поделать на три категории: легкие, продвинутые и олимпиадные. Легкие можно решать для вката в программирование - при помощи них хорошо практиковать выбранный язык. Средние хороши для опытных программистов чтобы оттачивать навыки и искать красивые / эффективные решения. Такие задачки также помогут для подготовки к собеседованию в FAANG или похожие российские конторы. Олимпиадные задачи - говно без задач. Они не имеют ничего общего с программированием и их не спрашивают ни на каких собеседованиях.

Конкретно эта по сложности относится к продвинутым, но по идиотизму аналогична олимпиадным.
Аноним 24/10/20 Суб 04:16:01 1838261194
изображение.png 27Кб, 1825x425
1825x425
>>1838253
Чиво? Это как?
Эльфийский какой-то.

Мы тупо ставим цифры от 1 до 10 и проверяем выражение пока не прокнет? А если не подходит то возвращаем -1 по требованию задания? Как я не додумался что цифра на вопросиках то одинаковая. А я собирался уравнение решать. Блееее я тупой.
Кстати, где эта проверка результата? Я не вижу. Можно строчку вбить и питон сам решит?

Охуенный язык, блеее. Любую хуйню можно сделать в 1-2 строчки.
Хочется так же.

Спасибо :3
(Я тем временем разбивал уравнение на 5 составляющих в листе и сидел тупил. Хотя и так наверняка можно было тупо пройтись по листу просто перебирая варианты.)
>>1838259
Ну вроде только 4 уровень, типо смотрю как высоко можно поднятся без знания языка. (Я максимум в универе на си пишу, и то понабрал кучу долгов и собираюсь в академ ибо не могу нормально спрограммировать все эти охуенные ссылки которые непонятно как работают в кодах всяких стеков и прочего)
Хотя я не вижу связи между этим и программированием приложений. Почитаю книжку которую советовали другому анону, может поклацаю.
Аноним 24/10/20 Суб 05:08:51 1838266195
>>1838261
>Ну вроде только 4 уровень, типо смотрю как высоко можно поднятся без знания языка.
Если твоя цель выучить питон - читай документацию, она у питона просто охуенная. За неделю поймешь все основные аспекты.

Если хочешь научиться подобные задачи вплоть до самого сложного уровня (но зачем?), тогда начни с изучения computer science. Ищи программу топового вуза вроде стенфорда, выбирай оттуда курсы по теории и алгоритмам и ищи материалы по этим курсам.
Аноним 24/10/20 Суб 09:17:16 1838310196
Как там pycharm работает? Все ресурсы пк забирает или могу на своем древнем ноуте работать?
Аноним 24/10/20 Суб 10:06:55 1838333197
>>1838310
ну если вопрос стоит по ram то метров 800 желательно иметь только для него, тоесть не включая те обьекты которые будут создаваться в петухоне, по поводу проца, ну в простое практически ничего не жрет,

вприцнипе смотря что еще считаешь старым, впринципе и под десяткой в 4 гб рам работать можо, но надо еще понимать что будешь скорей всего в браузер лазать, а они тоже любят ресы хыч хыч коксал боба
Аноним 24/10/20 Суб 11:20:57 1838396198
Untitled.png 4Кб, 700x75
700x75
>>1838310
По памяти норм, а в целом так неторопливо работает по сравнению с десктопом. Надо будет ебануть какой-то халявный проект и взять что-то на новой мобильной рязани, вроде очень хороша она.
Аноним 24/10/20 Суб 11:34:13 1838401199
>>1838396
Пиздец, как ты на этом браузер запускаешь вообще?
Аноним 24/10/20 Суб 16:31:06 1838711200
изображение.png 3Кб, 582x76
582x76
>>1838401
Зачем сарказмируешь?
А я как браузер запускаю.
Аноним 24/10/20 Суб 16:42:53 1838716201
>>1838401
Пять лет ноуту. А древний это сколько, 15?
Аноним 24/10/20 Суб 17:02:06 1838729202
Как аппендить к анонимному листу?
Например,
x = 'asdf_asdf' + x.split(', ')
x = ['asdf_asdf'].append(x.split(', '))

inb4 никак
Аноним 24/10/20 Суб 17:03:36 1838731203
>>1838716
я тут вообще с radeon hd сижу, не выёбывайтесь
Аноним 24/10/20 Суб 17:06:02 1838733204
Аноним 24/10/20 Суб 17:10:26 1838734205
Аноним 24/10/20 Суб 17:15:27 1838739206
>>1838731
Я на 5ххх радевоне третьего ведьмака прошел.
Аноним 24/10/20 Суб 18:46:18 1838858207
image.png 65Кб, 858x914
858x914
А как сделать, чтобы алгоритм выводил не все числа, а только самый большой i?j это для дебаг я сейчас думаю про continue, но не уверен, что сработает.

Аноним 24/10/20 Суб 18:46:38 1838859208
>>1838858
забыл
umber = input("Введите цифры от 1000, до 20000: >")
j = '' # сделать стринг

i = 0 # for


while i < int(number):
i += 1 # ++
i_string = str(i)
j = i_string[::-1]
if int(i) + int(j) == int(number):
print("i =" + str(i))
print("j =" + str(j))
Аноним 24/10/20 Суб 19:14:16 1838885209
>>1838858
Зачем ты через while делаешь то, что нужно через for, у тебя же простая итерация, пистон счетчики не любит
Аноним 24/10/20 Суб 19:15:59 1838887210
>>1838858
>>1838859
>>1838885
я уже посчитал сам через добавление в список.
фором на питоне не умею пользоваться.
Аноним 24/10/20 Суб 19:17:56 1838890211
>>1838887
Так это, может самое время?
Аноним 24/10/20 Суб 19:25:10 1838897212
Посоветуйте книгу или обучалку на русском, как крепкому шарписту вкатиться в питон.
Аноним 24/10/20 Суб 19:35:47 1838903213
>>1838897
>крепкий шарпист
а может питон вкатится в тебя?
Аноним 24/10/20 Суб 19:39:26 1838907214
изображение.png 22Кб, 858x492
858x492
>>1835577 (OP)
Как в питоне объявлять анонимные объекты, которые можно передавать в качестве параметра options в метод tkinter,filedialog.askopenfilename и asksaveasfilename? Хочу вместо перечисления всех параметров вынести дефолтную часть в отдельную переменную
Аноним 24/10/20 Суб 19:44:00 1838908215
>>1838907
Если я правильно понял, что ты хочешь сделать, то тут 2 варианта:
1) Написать свою обертку под этот метод, где ты вызываешь дефолтные параметны
2) Сделать словарик и распаковывать через kwargs
Аноним 24/10/20 Суб 19:46:14 1838909216
>>1838908
Т.е. в питоне нельзя как в js например просто прокидывать json'овский объект или типа того без всяких лишних импортов?
Аноним 24/10/20 Суб 20:08:18 1838916217
>>1838909
>>1838907
Объясни поподробней, что конкретно тебе надо?
Аноним 24/10/20 Суб 20:11:10 1838917218
Изучая пистон понял что нужно еще анг язык учить и Математику ) проебывал уроки 2ишник
Аноним 24/10/20 Суб 20:15:25 1838921219
>>1838890
пусть еще пару месяцев подготовится, не видишь? он еще не готов!
Аноним 24/10/20 Суб 20:16:16 1838922220
Аноним 24/10/20 Суб 20:16:21 1838923221
>>1838916
Мне надо вызывать либо askopenfilename либо asksavefilename в if-elif. 3 параметра одинаковые - расширения, initialdir, типы файлов, разный только промпт. Хочу 3 общих параметра в переменную над ифом, промпт отдельно пропихивать. В js например можно в блоке ифа было бы делать типа fileDialogParams.title = "Open file", а в elif fileDialogParams.title = "Enter new file name"
Аноним 24/10/20 Суб 20:27:42 1838934222
>>1838242
Там все вопросики это одна цифра. Пишешь функцию, которая делит выражение на a, b c и оператор, преобрзуешь их в инт, проверяет истинность, и в цикле заменяешь вопросики на цифру от 0 до 9 по очереди и вызываешь для получившегося выражения функцию. Если тру, то печатаешь текущую цифру, если цикл кончился, тру не было -1
Аноним 24/10/20 Суб 21:41:57 1838963223
написал декоратор для хеширования результатов функции.
Вопрос. как мне теперь посмотреть, что в словарике лежит?
сам декоратор с функцией.

https://pastebin.com/7vkWqiPS
Аноним 24/10/20 Суб 21:51:37 1838968224
>>1838923
В общем то попробовал вообще этот askopenfilename, он порождает окно пустое от ttk. Есть какой нибудь более вменяемый способ в консоли вызывать open/save file dialog без оверхеда в виде окон? Я пока просто учусь, так что не надо говорить что типа консолька и эти окна это тупо и всё такое
Аноним 24/10/20 Суб 22:20:50 1838986225
Ебучий поиск тян мешает мне соредаточиться на изучении питона
Аноним 24/10/20 Суб 22:23:01 1838991226
>>1838986
Отдай ее мне и познай питонистское просветление
Аноним 24/10/20 Суб 22:23:19 1838992227
Аноним 24/10/20 Суб 22:26:11 1839000228
Уже познал его, буду парсить их по секс группам завтра
Аноним 24/10/20 Суб 22:28:09 1839005229
>>1839000
Триплу верю я.
Хмм.. поиск порнокартинок тян с помошью нейросетки.. Хмм..
Аноним 24/10/20 Суб 23:04:28 1839028230
>>1838907
Делаеш словарь вроде d = {параметр:значение},
потом передаёш его функицям,
только перед именем словаря надо две звёздочки ставить:
func(\\d)
Аноним 25/10/20 Вск 00:49:04 1839080231
>>1838963
>Вопрос. как мне теперь посмотреть, что в словарике лежит?
Тебе нужно список всех хешей?
Есть два варианта:
1) Переписать декоратор из функции в класс, а самому классу сделать метод для просмотра хеша
2) hash_deco.__globals__['hash_dict']()

а еще твой декораторупадет если подставить нехешируемый тип в параметры
Аноним 25/10/20 Вск 02:00:23 1839104232
>>1837430
Тогда и начну писать однострочники, думаю это лишнее усложнение для начинающих
Аноним 25/10/20 Вск 02:05:55 1839105233
Двач, придумай мне пэт проект, чтобы было интересно реализовывать, чтобы не было нормальных аналогов и чтобы в одного можно было бы осилить. Подумал почему бы не написать бота, который бы мАстерил игру d&d, такое уже есть причем с собранными на кикстартере миллионами, а я просто хочу создать что-то новое
Аноним 25/10/20 Вск 02:08:44 1839106234
>>1838716
Мой 2013 был бюджетным. За 25к брал. Ща кстати такой же стоит 25к, ну мб чуть получше. Спасибо за курс валют
Аноним 25/10/20 Вск 02:13:47 1839109235
>>1839105
>Двач, придумай мне пэт проект
Напиши программу, которая бы автоматически раскладывала боевые картинки по разным категориям в зависимости от флага и прочих факторов.
Аноним 25/10/20 Вск 03:49:17 1839123236
>>1839105
Напиши что-то что заставит меня соблюдать режим сна и не зависать до 4 утра
Аноним 25/10/20 Вск 04:47:49 1839128237
>>1839105
Web UI и панель управления для Bucardo.
С радостью помог бы.
Аноним 25/10/20 Вск 04:58:41 1839129238
изображение.png 38Кб, 1808x454
1808x454
Чому маленькие строки нормально определяются, а в больших не хватает некоторых циферок?
Как это работает?
Аноним 25/10/20 Вск 05:04:35 1839130239
>>1839129
>encode
>replace("b", " ")
Мне кажется ты нифига не понял что от тебя хотят, и занимаешься каким-то извращением с байт-массивами.
Аноним 25/10/20 Вск 05:09:36 1839131240
>>1839130
Ну там типо нужно из буквы сделать код аски, потом перевести в двоичку и из 1 сделать 111, а из 0 сделать 000.
Ну я вроде и сделал.
Аноним 25/10/20 Вск 10:47:46 1839168241
>>1839109
Когда начну изучать нейронки то это будет первое что я напишу
Аноним 25/10/20 Вск 11:20:38 1839178242
image.png 2Кб, 378x34
378x34
image.png 5Кб, 505x72
505x72
Здорова бандиты. Помогите с парсингом одной хуйни. Парсю через красивый суп. В хтмл не шарю, но почему-то если скачиваю страницу кое-какой инфы в тегах нет (пика 1), когда смотрю исследователем в гугле, в теге есть нужная инфа (пикча 2, текст 002), как так? Как спарсить такое?
Аноним 25/10/20 Вск 11:27:23 1839182243
>>1839178
Поправка, текст 001, не 002
Аноним 25/10/20 Вск 11:31:35 1839183244
Привет, я только начал постигать тайны питона, и у меня уже есть сайтик на джанго, который гененрирует небольшие еветы в расписании. Так-же у меня есть бот в дискорде, который просто приветствует, дает инфу и все. Вот мне бы хотелось их как-то связать, что-бы по команде мне давалась информация со странички на сайте, но я не понимаю механику их взаимодействий. Что мне нужно почитать для этой реализации? какие модули использовать? Может даже на примере говна и палок обьясните что должно происходиить?
Аноним 25/10/20 Вск 11:40:34 1839185245
>>1839080
исключения ловить?
Аноним 25/10/20 Вск 11:43:16 1839187246
>>1839185
Нет, сделать систему кеширования не основанную на хэше
Аноним 25/10/20 Вск 11:53:50 1839195247
>>1839183
Подключаешь бота в дискорде к хранилищу данных и все
Аноним 25/10/20 Вск 11:54:02 1839197248
>>1839178
Оно добавляется динамически жабаскриптом.
Можно рендерить страницы хедлесс браузером и тогда уже парсить, можно подсмотреть дополнительные запросы, если есть, и брать готовое. Если нет запросов, значит определено где-то script тегах.
Аноним 25/10/20 Вск 11:56:04 1839198249
>>1839195
Я рассматривал этот вариант как самый очевидный, но сейчас читаю про парсеры и загорелся ими.
Аноним 25/10/20 Вск 12:45:30 1839226250
ООП в питоне - это хорошо или плохо? Я сам шарпист со стажем и привык по солиду делать по классу на каждую подзачау и всё такое, но в питоне что в туториалах что в примерах что в гайдлайнах по использованию библиотек я постоянно вижу использование просто статических функций
Аноним 25/10/20 Вск 12:48:31 1839227251
>>1839226
Просто не хуярить классы на каждый пук, как в этих ваших жабошарпах, а по практической необходимости.
Аноним 25/10/20 Вск 12:50:30 1839228252
>>1839198
То есть ты будешь сканить свой сайт каким нибудь селениумом что бы достать инфу, которую и так имеешь и можешь спокойно подключить без напряга?
Аноним 25/10/20 Вск 12:54:58 1839231253
>>1839183
Если тебе нужно, чтобы бот с сайта инфу брал именно, то изучай http протокол и модуль requests, делаешь гет запрос на сайт и получаешь текст ответа, если там html верстка, то парсить ее удобнее с помощью модуля bs4. Кароче изучи парсинг сайтов и все встанет на свои места
Аноним 25/10/20 Вск 12:57:39 1839232254
>>1839228
Он спрашивал как связывать скрипт бота с сайтом, думаю именно парсинг его и интересовал
Аноним 25/10/20 Вск 12:58:36 1839234255
>>1839232
А, ну если как учебный проект, то вообще проблем нет
Аноним 25/10/20 Вск 13:06:39 1839235256
>>1839232
Ага, вот, точно. Я так и хотел написать
Аноним 25/10/20 Вск 13:06:56 1839236257
Аноним 25/10/20 Вск 13:08:49 1839237258
Питонисты с опытом, я немного изучил питон и веб, сделал на фрилансе пару парсеров, бота, вебсервис и понял что в общем-то с питоном я разобрался, хочу спросить у опытных куда двигаться дальше(в планах через пол годика-год устроится на работу полноценную), чтобы стать уверенным джуном в вебе, стоит ли учить js, .net и прочее, стоит ли пытаться уходить в нейронки(диффуры пока не умею решать, хз насколько сильная математика нужна), в общем куда вкатываться дальше, чтобы быть востребованным(сейчас углубляюсь в питон, смотрю как неймспейсы работают, постигаю асинхронность, но мне кажется, что нужно дальше выбрать что-то объемное, чему придется уделить много времени)
Аноним 25/10/20 Вск 13:09:39 1839238259
>>1839237
Ебнутый что ли? Пиздуй работать.
Аноним 25/10/20 Вск 13:12:28 1839240260
>>1839236
Но если хочешь действительно понять как работает веб, то я очень советую курс на степике web-технологии, если изучил linux и базы данных, после него и небольшой практики будешь точно понимать как это все связывается и что откуда достать можно
Аноним 25/10/20 Вск 13:14:24 1839242261
>>1839238
Я на 2-м курсе, меня не берут никуда, а по разработке на питоне даже тестовое не присылают, так что остаюсь на фрилансе, но не хочу просто повторять свои ошибки и дрочить одно и то же, а хочу развиваться
Аноним 25/10/20 Вск 13:27:30 1839250262
>>1839242
У меня сложилось впечатление что тестовые стараются больше не присылать, даже на джунов. Все равно постарайся уже работу найти удаленно, стажировку хотя бы.
Аноним 25/10/20 Вск 13:30:03 1839253263
>>1839240
О вот вопрос можно еще? что значит изучил бд? я знаю как писать запросы, знаю какие бд бывают, но не знаю какую в проект выбрать, могу спроектировать бд, если там не очень много сущностей. Вот этого не хватит на работу, но можно ли сказать что я изучил это направление?
Аноним 25/10/20 Вск 13:53:16 1839264264
>>1839253
Более-менее изучил направление, это тогда, когда ты понимаешь проблематику, какие возникают проблемы, почему они возникают, как их решать и т.п.

Например, чтобы понимать, когда одна структура лучше, а когда другая. Как профилировать-оптимизировать запросы, и т.п.

В целом нельзя сказать, что ты что-то изучил. Это как программирование, нельзя "изучить программирование". Ты можешь просто лучше или хуже что-то делать, иметь достаточные или недостаточные скиллы для какой-то работы.
Аноним 25/10/20 Вск 14:16:11 1839276265
Аноним 25/10/20 Вск 14:26:46 1839282266
>>1839253
Я думаю писать запросы, создавать, нормализовывать бд, администрировать это достаточно для начала, даже если ты и знаешь как писать функции, то энивей тебе это не пригодится до определенного момента
Аноним 25/10/20 Вск 14:51:06 1839306267
>>1839282
Это любой дурак умеет, что тогда "не уметь"?
Аноним 25/10/20 Вск 15:34:16 1839329268
Вот те задачки что я решаю на кодворзе, это что-то пригодится в риллайфе? Или нет? Посмотрел тот же фласк, тупо декларативный способ, все определил и сел.
Аноним 25/10/20 Вск 18:18:39 1839491269
>>1839237
Как и где искал заказы?
Аноним 25/10/20 Вск 18:19:43 1839495270
>>1839329
Да не то что бы.
Оно полезно в плане изучения фич языка, когда смотришь чужие решения, которые многие стараются сделать эффектными.
Аноним 25/10/20 Вск 20:21:55 1839630271
>>1839329
>Вот те задачки что я решаю на кодворзе, это что-то пригодится в риллайфе?
От 8 до 6-5 уровня помогают изучить фичи выбранного языка. Все что сложнее абсолютно бесполезно.
Аноним 25/10/20 Вск 22:02:36 1839759272
Подскажите, пожалуйста, с Flask мне не нужен сервер? Например, мне не нужен Apache?
Аноним 25/10/20 Вск 22:05:17 1839762273
>>1839759
Нужен. У него есть встроенный, но годится только для тестирования. Ну или если у тебя какой-то внутренний сервис без реального онлайна.
Аноним 25/10/20 Вск 22:20:23 1839771274
>>1838934
Делай, как он говорит >>1839028

def foo(x=1, y=2, z=3):
  print(f"x= {x}, y = {y}, z = {z}")

parameters = {"x": 1, "y": 2}

if <условие>:
  foo(z=1, ✳✳parameters)
else:
  foo(z=0, ✳✳parameters)
 

Аноним 25/10/20 Вск 22:21:53 1839772275
Аноним 25/10/20 Вск 22:46:57 1839785276
Аноним 25/10/20 Вск 22:48:33 1839787277
Аноним 26/10/20 Пнд 00:43:54 1839845278
IMG202010260042[...].jpg 369Кб, 720x954
720x954
IMG202010260042[...].jpg 162Кб, 720x746
720x746
Сап питонач, хотел написать клеточный автомат описывающий реакцию белоусова но получилось г на прикле хотя вроде алгоритм правильный я хз где ошибка помогите найти плёс. описание алгоритма и пример работы норм проги где то на 15 минуте в видосе: https://youtu.be/FiO6jkNkrb4
Оно вроде как работает но волны распространяются ромбом а у того чела 8миугольником.
Аноним 26/10/20 Пнд 01:45:32 1839860279
image.png 75Кб, 828x902
828x902
Привет, анон. Играюсь на codewars, получил задание написать бесконечный генератор последовательности простых чисел. По заданию нужно сгенерировать первый миллион. Разумеется есть ограничения по памяти(1.5 MiB) и по времени(16с).

Сначала хотел написать просто сегментированное бесконечное решето Эратосфена, но, разумеется, не хватает памяти, чтобы вместить сам список простых чисел.

Потом решил все таки использовать это решето, но потом перестать добавлять в список простые числа, а тупо перебирать числа и их делимость только на простые числа. Это должен был осуществлять последний блок кода(выделен комментом), но из-за него сжирается вся память нафиг.

Так вот главный вопрос: что вообще в этом последнем блоке может жрать память? Если его отключить, то все работает нормально, за исключением преждевременного прекращения генерации.

Знаю, что решето реализовано говяно, хотел заняться им в конце.
Аноним 26/10/20 Пнд 02:13:26 1839869280
Аноним 26/10/20 Пнд 02:31:02 1839873281
>>1839860
Дай ссылку на задание, плез.
Аноним 26/10/20 Пнд 02:32:35 1839874282
Аноним 26/10/20 Пнд 09:34:41 1839928283
>>1839787
А как с работой по FastAPI?
Аноним 26/10/20 Пнд 16:11:45 1840151284
>>1839928
Иногда можно встретить в требованиях к вакансиям.
Иногда выбор инструмента зависит от тебя, и тут ты волен выбирать.
Аноним 26/10/20 Пнд 17:18:42 1840226285
Аноны, возникла проблема с заданием из учебника. Необходимо рекурсивной функцией создать мусорный файл в указанной директории и каждой из её субдерикторий.

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

1 if sys.platform.startswith("win"):
2 def getpreferredencoding(do_setlocale=True):
3 if sys.flags.utf8_mode:
4 return 'UTF-8'
5 return _locale._getdefaultlocale()[1]

Перескакивает с третьей на пятую строку а потом

1 def init(self, errors='strict'):
2 self.errors = errors
3 self.buffer = ""

Заранее извиняюсь если вопрос нубский и входит в факю, но я нагуглил только оханья что это старая проблема с виндой которая периодически вылазит то у одного то у другого и я не понял что с ней делать.
Аноним 26/10/20 Пнд 17:28:22 1840238286
>>1839845
Вы вообще ебанутые? Фотографировать код на телефон с экрана
Аноним 26/10/20 Пнд 17:31:05 1840240287
>>1840226
Ну нихера непонятно же ну ебана рот. Ну создай пример в онлайн редакторе и пришли ссылку или хотябы заскриншоть всё говно
Аноним 26/10/20 Пнд 17:43:21 1840253288
>>1840240
Ну вот сам код.

def litter(path):
newtext=open("litter.txt", "w")
newtext.close()
dirlist=os.listdir(path)
for i in dirlist:
fullname=os.path.join(path, i)
if os.path.isdir(fullname):
litter(fullname)

litter("C:\\Users\\key\\Desktop\\Pyt\\Code")

Когда он обнаруживает, что объект в директории является директорией, он пытается в нем намусорить, но выдаёт ошибку которую я описал выше и не делает ничего, хотя в главной директории мусорит спокойно.

Сорри я не совсем понял что мне скринить, экран модулей, куда он уходит искать ошибку? Там только эти два блока что я описал выше и все.
Аноним 26/10/20 Пнд 17:58:11 1840266289
>>1840253
Почему ты открываешь файл с одним и тем же путем?
newtext = open(os.path.join(path, "litter.txt"))
Аноним 26/10/20 Пнд 18:06:12 1840276290
>>1839860
Условия задачи не питонячи: питон не чыслодробилка,
глупо требовать от него ужимться по памяти и времени.
Аноним 26/10/20 Пнд 18:18:58 1840294291
IMG202010261715[...].jpg 37Кб, 596x467
596x467
>>1840266
Потому что путь меняется когда функция уходит на рекурсию в строке 6. Там создаётся новый путь под варом fulltext, и уже от него открывается новая итерация функции.

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

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

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

Вот на скрине, сам путь выстраивается корректно, дело в другом чем то.
Аноним 26/10/20 Пнд 18:26:26 1840307292
>>1840276
Да мне решение задачи и не нужно. Мне очень интересно знать, куда девается память в последнем фрагменте кода. Ну или хотя бы где об использовании питоном памяти можно почитать.
Аноним 26/10/20 Пнд 18:27:58 1840310293
>>1840238
Ну бля реально на компе нет инета шас. Ок как нибудь залью
Аноним 26/10/20 Пнд 18:28:16 1840311294
>>1840266
О все страшно извиняюсь, сработало. Понял свою ошибку, надо было понять, что директория для открытия файла автоматически не меняется при новом открытии копии функции. Правда, непонятно почему.
Аноним 26/10/20 Пнд 18:29:41 1840314295
>>1840307
Про память - суетный вопрос это.
Аноним 26/10/20 Пнд 18:33:00 1840320296
>>1840311
С хуя ли она должна меняться?
Почитай, что такое cwd.
Аноним 26/10/20 Пнд 18:33:31 1840321297
>>1840307
Вроде как питон очень плохо работает с листами, именно поэтому и нужны кортежи, что они и близко не так удобны, но в 10 раз быстрее проходятся. Если для маленьких последоватпььностей такая разница несущественна, то для больших 10х разница ощутима.
Аноним 26/10/20 Пнд 18:34:29 1840324298
>>1840320
Сорри, анон, у меня только четвёртая неделя обучения пошла.
Аноним 26/10/20 Пнд 18:36:49 1840328299
>>1840314
Ну любопытно же. Мало ли здесь неизвестный мне нюанс языка? А то, на самом деле, я понял, что часто не совсем понимаю, как конкретно работает та или иная операции языка.
Аноним 26/10/20 Пнд 18:46:54 1840342300
>>1840328
Давай код текстом, посмотрим.
Аноним 26/10/20 Пнд 18:46:57 1840343301
>>1840321
Ну, снова же, для меня сейчас проблема скорости вторична. Непонятно именно происходящее с памятью.
Аноним 26/10/20 Пнд 18:49:45 1840349302
>>1840328
Нюянс не языка но реализации.
>>
Как обычно, память пожирается, сборщик мусора чистит её ритмично. Если критично, мусорщика можно попинывать через модуль gc.
Для питона полтора мега памяти — это вообще крошки какието.
Аноним 26/10/20 Пнд 18:51:22 1840352303
>>1840342
from math import sqrt
def sieve_of_eratosthenes(primes, from_n, to_n):
length = to_n - from_n
arr = [True]length + [False]
for p in primes:
for i in range((to_n - 1 - (from_n-1)//p
p)//p):
b = -from_n % p
arr[b + pi] = False
for i in range(int(sqrt(to_n)) + 1 - from_n):
if arr:
p = from_n + i
for j in range(1, (to_n - 1 - (from_n-1)//p
p)//p):
b = -from_n % p
arr[b + pj] = False
for i in range(to_n - from_n + 1):
if arr:
primes.append(from_n + i)
return primes

class Primes:
def stream():
counter1 = 0
counter2 = 1
primes = sieve_of_eratosthenes([2], 3, 100000)
length = len(primes)
while True:
print(primes[counter1])
yield primes[counter1]
if counter1 + 1 == length:
primes = sieve_of_eratosthenes(primes, counter2
100000, (counter2+1)*100000) # 100000 - размер сегмента решета
length = len(primes)
counter2 += 1
if counter2 == 4: # 4 - количество сегментов
n = primes[-1] + 2
break
counter1 += 1
"""
while True:
is_primal = True
for p in primes:
if p > sqrt(n):
break
if n % p == 0:
is_primal == False
if is_primal:
print(n)
yield n
n += 2
"""
Аноним 26/10/20 Пнд 18:53:20 1840356304
>>1840352
Кокое-то говно у меня получилось, сейчас попробую иначе.
Аноним 26/10/20 Пнд 18:53:57 1840358305
Аноним 26/10/20 Пнд 18:56:44 1840362306
>>1839860
Короче неохота вникать, но самая быстрая генерация, на самом деле, это просто тупо проверка всех чисел на простоту.

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

Решето это жутко медленный и не рациональный алгоритм, не только для питона, вообще для любой реализации. Это алгоритм, чтобы на бумажке числа высчитывать, а не для компьютеров, забудь о нём вообще.
Аноним 26/10/20 Пнд 18:58:14 1840364307
Аноним 26/10/20 Пнд 19:06:29 1840367308
>>1840362
Но ведь решето быстрее названых тобой способов, если учесть что мне нужно не одно единственное число на простоту проверять, а выдавать список всех простых чисел. При этом сегментирование экономит память, ведь именно к ней требовательно решето.

Так как миллион простых чисел в списке хранить не получится, то я решил использовать гибридный метод: сначала решето, а потом проверка всех последующих чисел на делимость, использую сгенерированный решетом список простых чисел. И вот именно в этом моменте, когда я уже перестал использовать решето и просто проверяю делимость используя фор по списку - у меня и возникает проблема с памятью.
Аноним 26/10/20 Пнд 19:18:18 1840382309
>>1840343
Попробуй все таки переписать функцию, используя вместо листа всех праймов тупл либо словарь и посмотри, не будет ли полегче.
Аноним 26/10/20 Пнд 19:28:51 1840387310
image.png 7Кб, 406x156
406x156
Аноним 26/10/20 Пнд 19:55:59 1840405311
>>1840382
Попробовал использовать тупл - не помогло.

Но! Я понял, что жрало память. Это были принты. Я даже не знаю, что теперь делать с этим знанием.
Аноним 26/10/20 Пнд 20:04:12 1840409312
Аноним 26/10/20 Пнд 21:10:35 1840483313
Есть у кого шпаргалка по async/await и aiohttp?
Аноним 26/10/20 Пнд 21:49:20 1840514314
>>1840367
Решето в любом случае медленное.

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

Второй момент, если бы ты даже на Си это реализовывал. Если у тебя сегмент памяти большой, ты проверяешь больше миллиона чисел, то проблема в том, что это сегмент уже не помещается в кеш, у тебя процессор будет постоянно сбрасывать кеш и лезть в память. А это очень дорого и медленно. Отдельные моменты с адресацией, потому что побайтово сложно что-то записать быстро, надо по словам записывать, по 4 или по 8 байт, пожалуй не скажу, что для 64-х битной архитектуры.

В питоне начинаются нюансы по представлению чисел и как они хранятся в списках. Ты учитывай, что число это на самом деле большой неизменяемый объект. Впрочем, если в списке хранить 1 или 0, то проблем быть не должно. Но тут есть разные варианты по numpy и всякие связанные оптимизации.

Реально я бы тебе предложил сравнить варианты с решетом и просто с проверкой в лоб всех нечётных.

Если у тебя большие числа, корень из которых в миллион, например, то есть другие алгоритмы, основанные на тестах Ферма и т.п., но там масса нюансов. Именно такими способами проверяют большие простые числа по 1000 бит, их в лоб проверить невозможно в принципе.

На числа в районе миллиона смысла в таких алгоритмах заведомо нет. Я думаю, начиная с миллиарда уже появляется.
Аноним 26/10/20 Пнд 22:16:55 1840551315
>>1840483
А что тебе нужно? Когда хочу что-то вспомнить по aiohttp то просто в доки лезу
Аноним 26/10/20 Пнд 23:07:26 1840587316
Может быть я чего-то не понимаю, но Марк Саммерфилд.
Программирование на Python 3 слишком нудная и монотонная книга, хоть и мало страниц...
Аноним 26/10/20 Пнд 23:26:50 1840602317
>>1840587
Есть эта серия от орайли с картинками для даунов, должно тебе зайти.
Аноним 27/10/20 Втр 03:38:47 1840660318
def create_array(n):
res = []
i = 1
while i<= n:
res+=
return res
Не могу сообразить как сделать массив. Уже все перепробовал. И вроде счетчик есть. Если без функции, притом, массив создается. А так, добавлятеся только 1 и все. чяднт?
Аноним 27/10/20 Втр 04:52:11 1840670319
>>1840660
while i <= 10:
arr+=
i+=1
print(arr)

Вот что то подобное работает на ура. Не могу понять почему подобное не отрабатывает в функции.
Аноним 27/10/20 Втр 07:19:04 1840682320
>>1840660
Код нормально выложи, с пробелами
Аноним 27/10/20 Втр 07:28:01 1840683321
Чому ни кто не пишет на ООП, все только и используют пайтон как скрипты, это нормально?
Аноним 27/10/20 Втр 09:14:33 1840702322
>>1840683
Чому никто не пытается измерять реальность? Все только проецируют свое представление о реальности на всё
Аноним 27/10/20 Втр 09:17:35 1840704323
>>1840702
Из-за принципа неопределенности Гейзенберга
Аноним 27/10/20 Втр 10:15:19 1840730324
>>1840660
Зачем ты вообще так делаешь, список динамический же. Если прям хочется, то можно так сделать arr = [None] * n
Аноним 27/10/20 Втр 14:34:33 1840930325
Анон, подскажи как подготовиться к собесу воркфлоу инженера. Книги и статьи по змеюке не читал, но зато нарешал задачек с литкода, не первый год пишу на нем скрипты, в том числе и объектно ориентированные, написал свой блог на фласке и запилил сортировщик изображений с OpenCV, но чувствую, что этого критически мало. Многих вещей в этом языке я до сих пор не знаю просто потому что не встречался с ними. Поставив в пример руби — у него есть сайт, где он сравнивается с другими языками, включая уникальные особенности языков. Для него же написана хорошая книга Ruby Way, которая довольно кратко и с адекватной сложностью для понимания рассказывает об аспектах языка. Есть ли такое для пайтона?
Аноним 27/10/20 Втр 14:36:16 1840934326
Аноним 27/10/20 Втр 16:38:32 1841099327
def greet_all(names: list[str]) -> None:
for name in names:
print("Hello", name)

Я разобрался что names это переменная и указывается ее тип. Список а внутри строки, а что значит None? типо что по умолчанию там ничего, как раньше, names=None? так?
Аноним 27/10/20 Втр 16:40:14 1841103328
>>1841099
-> None - это тип, который возвращает функция
Аноним 27/10/20 Втр 16:43:39 1841110329
>>1841103
def greet_all(names=None)
for name in names:
print("Hello", name)

Вот так? Такая нотация так или иначе будет возращать None,если не указано другое. ?
Аноним 27/10/20 Втр 16:50:33 1841118330
>>1841110
"names=None" - это как раз значение по умолчанию для names, а
"-> None" после скобок - это подсказка что должна возвращать функция.
Аноним 27/10/20 Втр 17:26:03 1841153331
>>1841118
Да но вместо этого она выводит принт с гритингом.
Аноним 27/10/20 Втр 17:52:43 1841198332
Аноним 27/10/20 Втр 19:57:16 1841322333
image.png 1134Кб, 976x549
976x549
Пиздонисты, подскажите маслу, которое до этого только в сях всяких писало. У меня на арчике стоит 3.8 змей, надо стартануть проект на жанге под 3.5.0. Полагаю, что поможет только pyenv, но не совсем понимаю как завести проект, при запуске черещ exec с глобалом 3.5.0 лог проекта на джанге все равно пишет, что долбится в 3.8. Да и вообще как очистить глобальный path питона, а то пип уже успел отвалиться, никогда с питоновскими виртуальными средами не работал.
Аноним 27/10/20 Втр 20:05:17 1841326334
msdPCNnJtnY.jpg 73Кб, 669x670
669x670
Аноним 27/10/20 Втр 20:07:39 1841329335
>>1841099
Мне интересно по какому материалу ты занимаешься? Где это сразу про типирование загоняют?
Аноним 27/10/20 Втр 20:15:49 1841337336
>>1840551
Да вроде разобрался сам.
Аноним 27/10/20 Втр 20:20:36 1841339337
>>1841329
Оф документация, мне интересен был синтаксис, и что это значит. В консольке получилась фигня по коду.
Аноним 27/10/20 Втр 20:21:36 1841340338
В sympy интегралы не интегрируются, что делать?
Аноним 27/10/20 Втр 20:27:42 1841346339
unnamed.png 128Кб, 512x512
512x512
Аноним 27/10/20 Втр 20:28:13 1841347340
Аноним 27/10/20 Втр 20:33:17 1841349341
Аноним 27/10/20 Втр 20:39:01 1841355342
>>1841099
Вы мне объясните что значит это в этом коде
> -> None:
Те если не будет указан список те он будет пустым, будет возращаться None или как? С типизацией очень удобно, только что так решил задачку на кодворзе прописав что есть что и сразу все норм стало.
Аноним 27/10/20 Втр 20:51:48 1841373343
>>1841355
>Вы мне объясните что значит это в этом коде
Это означает что функция не возвращает ничего или возвращает None.
Аноним 27/10/20 Втр 20:55:03 1841379344
Аноним 27/10/20 Втр 20:58:47 1841383345
>>1841379
Так ну ок, попробовал и так и так, результат один и тот же возращается None, зачем тогда указаывать сразу если это по дефолту после пасс идет? Я вот тут не понял, с типизацией удобно, а зачем указаывать то что возращает и так? И что еще можно тогда указать?
Аноним 27/10/20 Втр 21:03:08 1841388346
>>1841383
Это хинтинг, он не энфорсит ничего, просто IDE будет тебе бухтеть, если ты передаешь что-то не то, или используешь возвращаемые значения не так. В данном случае указывается, что возвращаемых значений нет, так что использовать нечего.
Аноним 27/10/20 Втр 21:09:35 1841395347
>>1841388
Ну а что еще можно передать кроме None? Раз если не прописать, и не указать аргументы, то все равно будет None. bool?
Аноним 27/10/20 Втр 21:14:34 1841404348
>>1841395
Да оно в любом случае нихуя не делает, это как комментарии.
Просто есть инструменты, которые могут их использовать.
Аноним 27/10/20 Втр 21:31:24 1841420349
>>1841322
>>1841349

Ничего не понял.
Просто делай запуск по глобальному имени, типа
/opt/virtualenvs/pytnon38/bin/python my_project.py

и не нужно возиться со всеми этими активациями среды.

Аноним 27/10/20 Втр 21:34:58 1841426350
Питонисты помогите
Составить программу, в которой из внешнего файла считывается строка (не менее 20 символов, осмысленная, содержащая строчные и прописные буквы и цифры). Выводится строка, полученная на основе прсчитанной, в которой каждая четвертая буква, кроме пробелов, удваивается.
Аноним 27/10/20 Втр 21:50:35 1841442351
>>1841426
Это твоя лаба или тестовое? В 6 строк кода делается. С чем тебе помощь нужна?
Аноним 27/10/20 Втр 21:53:05 1841445352
>>1841442
Не знаю как записать чтобы каждая четвертая буква кроме пробелов удваивалась
)
Аноним 27/10/20 Втр 22:03:14 1841452353
>>1841442
>Это твоя лаба или тестовое? В 6 строк кода делается.
В одну.
Аноним 27/10/20 Втр 22:30:39 1841478354
>>1841340
В вольфраме тоже не интегрируются, блядь.
Аноним 27/10/20 Втр 23:50:10 1841597355
>>1841478
Интегрируй численно
Аноним 27/10/20 Втр 23:50:48 1841598356
Аноним 27/10/20 Втр 23:56:54 1841601357
>>1841598
Раз ты sympy используешь, то ты, скорее всего, интегрируешь символьно
Тебе решение нужно в виде формулы, или в виде числа/чисел?
Аноним 27/10/20 Втр 23:59:56 1841604358
>>1841601
В виде числа. Все значения я подставляю. Там просто, видимо, охуеть какое сложное выражение получается, раз его даже вольфрам не может подсчитать.
Аноним 28/10/20 Срд 00:00:46 1841606359
Посмотрел я видос про фаст апи, потом почитал доку.
Вот
def read_item(item_id: int, q: Optional[str] = None):
там во всю идет типизация.
Например это

q: Optional[str] = None
Это строка или хитрый список? Обычно же такая нотация - обращение к элементу списка. Нет?
Аноним 28/10/20 Срд 00:02:12 1841609360
>>1841604
Пробовал scipy?

Что за функция? Какие границы интегрирования?
Аноним 28/10/20 Срд 00:03:36 1841611361
>>1841606
Почитай, как модуль typing работает.

Запись typing.Optional[str] значит, что у тебя функция возвращает либо строку, либо None
Аноним 28/10/20 Срд 00:05:22 1841614362
>>1841609
Lambda(tau, Integral(0.0981984024266575(1 - Abs(tau - theta))Integral(0.00964292623914778(1 - Abs(u))(1 - Abs(theta + u)), (u, -1, 1)), (theta, -1, 1)))
Коэффициенты можно опустить, без них так же не считается.
Аноним 28/10/20 Срд 00:06:47 1841617363
>>1841606
>Это строка или хитрый список?
Optional[str] означает что тип переменной q это либо строка, либо None.

= None означает что при отсутствии аргумента в переменную q запишется None.

Например: если вызвать read_item(5, "test"), то q будет строкой. А если read_item(5), то q автоматически присвоится значение None.
Аноним 28/10/20 Срд 00:11:01 1841623364
>>1841445
with open('file.txt', 'rt') as f:
____src_line = f.read().strip()

result = []
counter=0
for symbol in src_line:
____result.append(symbol)
____if symbol != ' ':
________counter += 1
________if counter % 4 == 0:
____________result.append(symbol)
result_str = "".join(result)

Вот не самое компактное, но самое очевидное решение. В одну строку не сделаешь, разве что используя специфику питона-3.8 и так, что даже гуру питона будет тяжело понять.

Где-то тут раньше приводили короткое "решение", но оно было абсолютно некорректным, неверным.

Не запускал, но вроде должно работать.

Вообще тебе надо доки по программированию читать, это тебе надо. С самых основ скорее всего.
Аноним 28/10/20 Срд 00:11:29 1841624365
>>1841617
Лан, спс это я понял. Но вто что то типо такого - диссонанс
Например
from typing import List

def func(n: int) -> List[int]:
return list(range(n))

n число, а почему и откуда берется список? Те если не n то возращается список?
Аноним 28/10/20 Срд 00:22:29 1841633366
>>1841623
enumerate очевидное решение.
Можно ещё чуть норкоманское через range с кастомным шагом.
У тебя совсем глупое.
Аноним 28/10/20 Срд 00:52:49 1841651367
>>1841624
Я не понимаю твоего вопроса.

n - это integer, но это аргумент функции. Сама функция возвращает list(range(n)), что является списком.
Аноним 28/10/20 Срд 00:59:01 1841659368
>>1841651
Вот это
-> List[int]:
что и зачем?
Аноним 28/10/20 Срд 01:09:33 1841663369
image.png 17Кб, 367x374
367x374
>>1841659
>что
Обозначение типа возвращаемой переменной. List[int] значит, что функция возвращается лист из int чисел.
>зачем
Чтобы знать что возвращается.

Пикрил - пример. У первой функции не обозначен тип возврата, поэтому неизвестно, что она возвращает. Она может вернуть как список, так и None, так и вообще что угодно. У второй функции обозначен тип возвращаемой переменной - список из чисел, поэтому IDE ругается на возврат None, который не является списком. У третьей функции None заменен на список и все нормально. Аналогично с аргументами.
Аноним 28/10/20 Срд 01:21:02 1841669370
>>1841659
наверно это значит что функция должна вернуть список int.
если в коде функции будет возвращяться что-то другое,
IDE подсветит это как ошибкцу.
Аноним 28/10/20 Срд 02:29:33 1841689371
>>1841633
>enumerate очевидное решение.
Только неверное. Потому что он нумерует всё подряд, а подсчёт должен вестись только по буквам.
Аноним 28/10/20 Срд 02:47:58 1841693372
Как написать кучу условий в лямбда функции, какой синтаксис? Так не получается.
check = lambda x, y: 4 if x == y else (-1 if x != y else (0 if x == "" or y == ""))
Видел как то через скобки.
Аноним 28/10/20 Срд 02:50:08 1841694373
>>1841614
Не получается глазами распарсить, есть в нормальном виде?
Аноним 28/10/20 Срд 03:14:18 1841697374
>>1841624
Документацию чего ты блять читаешь? Пройди на сайте питона мануал для начинающих, потом загугли питон тайпинг пеп, там все написано
Аноним 28/10/20 Срд 03:14:34 1841698375
>>1841693
Вот так получается
check = lambda x, y: 4 if x == y else (-1 if x != y else 0)
но мне надо впихнуть еще одно условие. Видел как делают тиа такого
[хуй пизда залупа](если пидор)(если гнида)( если чушка.) но не могу по синтаксису въехать.
Аноним 28/10/20 Срд 03:14:41 1841699376
>>1841693
Очень странное выражение.
1) В любом случае выполнится либо х == у, либо х != у
2) У тебя незаконченный тернарный опрератор 0 if x == "" or y == "". Должно быть 0 if x == "" or y == "" else value
Аноним 28/10/20 Срд 03:15:47 1841700377
>>1841699
>>1841698
Я для фильтра готовлю, пробовал по разному, надо три условия, тащемта в лямбде видел еще больше.
Аноним 28/10/20 Срд 03:35:43 1841704378
>>1841699
check = lambda x, y: [4, -1, 0][(x == y), (x != y), (x == "" or y == "")]
Как то так но не получается. Но подобное я видел.
Аноним 28/10/20 Срд 03:45:37 1841705379
>>1841704
>Как то так но не получается. Но подобное я видел.
Пиздос. Включить голову и подумать почему это не работает лень?
Аноним 28/10/20 Срд 03:49:50 1841706380
>>1841705
check = lambda x, y: 4 if x == y and x != "" and y != "" else -1 if x != y and x != "" and y != "" else 0

получилось.
Аноним 28/10/20 Срд 03:53:07 1841707381
>>1841706
>получилось.
Еще непонятно, зачем тебе вообще нужна лямбда. Фильтровать можно и без них.
Аноним 28/10/20 Срд 04:16:40 1841710382
Аноним 28/10/20 Срд 04:23:37 1841711383
>>1841710
>Хотя можно было и лучше.
Можно, причем в одну строчку:

max(0, sum([{True: 4, False: -1}[x == y] for x, y in zip(arr1, arr2) if y]))
Аноним 28/10/20 Срд 04:28:15 1841713384
>>1841710
>>1841711
Да за что вы так эти ванлайнеры любите? Читать же трудно пиздец.

Аноним 28/10/20 Срд 04:44:43 1841715385
>>1841711
Я про такую нотацию имел ввиду
res = lambda x, y: [1, 2, 3][(x > y) + (x < y) + (x == y or x == 100)]

У тебя сложное решение, хз как прийти к такому уровню. Я пока вот, изучаю синтаксис.
Аноним 28/10/20 Срд 04:48:02 1841716386
>>1841715
>Я про такую нотацию имел ввиду
>res = lambda x, y: [1, 2, 3][(x > y) + (x < y) + (x == y or x == 100)]
Я такое никогда не видел. Скорее всего ты путаешь ее с использованием словаря, как это сделал я.
Аноним 28/10/20 Срд 07:48:45 1841746387
Всем привет! Как понять работу .Net апликухи? Зачем нужны все эти сервисы типа Core, Admin и прочие мелкие? Почему просто нельзя сделать сайт на один сервис?
Что нам даёт swagger? Это эндпоинты на определенные сервисы/функции?
Аноним 28/10/20 Срд 09:01:42 1841766388
>>1841713
Я уже думаю это троллинг
Аноним 28/10/20 Срд 10:15:58 1841811389
>>1841766
Чем более сложный код ты пишешь, тем сложнее тебя заменить.
Аноним 28/10/20 Срд 12:39:56 1841941390
СТРУКТУРА ВЕБ-АППЛИКАЦИИ
Flask
Привет друзья мои, вопрос такой щито должно быть в шаблоне а что нет, например запрос к базе данных должен быть во вьюшках и отсылаться затем в шаблончик, где он уже будет обрастать тегами при помощи дирректив шаблонизатора, или запрос к базе дидолжен быть внутри шаблона? Или как у меня: оборачивание в теги происходит во вьюхах и затем в шаблон отправляется готовая структура котора просто рендерится?
Аноним 28/10/20 Срд 12:41:48 1841944391
>>1841811
Так от чому последнее времи ипаную функциональщину форсят!!!)))
Аноним 28/10/20 Срд 13:42:06 1841970392
>>1841941
>щито должно быть в шаблоне а что нет
Вот этого ↓↓↓ быть не должно вообще, когда 2020 уже на исходе
>Flask
Аноним 28/10/20 Срд 13:49:10 1841973393
>>1841970
Мне для учёбы надо, флягу освою - меня до джанги допустят)))
Аноним 28/10/20 Срд 13:50:01 1841974394
>>1841941
В идеале шаблон полностью отделён от кода, и каких-то обратных запросов, в том числе к БД, в том числе через ORM, происходить не должно.

То есть ты готовишь объект с данными, который можно релиализовать, например в JSON, отдаёшь его в шаблон, а он уже готовит страницу.
Аноним 28/10/20 Срд 13:50:42 1841975395
>>1841974
>можно релиализовать
fix, сериализовать
Аноним 28/10/20 Срд 13:51:10 1841976396
>>1841974
Спасибо, я так и думал!
Аноним 28/10/20 Срд 14:13:25 1841984397
Наскок реально из сеньора фронтендера вкатиться в джунопитон?
Аноним 28/10/20 Срд 14:14:40 1841986398
>>1841984
вкатиться скатиться
>быстрофикс
Аноним 28/10/20 Срд 14:21:30 1841989399
>>1841984
Всё это настолько размыто, что хуй знает.
Я так понял, что сейчас джуниор это тот кто вообще нихуя не знает, а сеньор это кто хоть что-то знает?
Аноним 28/10/20 Срд 14:42:05 1842004400
>>1841986
Ну вот почему все думают что фронт - это для петухов? Современные фронтендеры даже в программирование умеют ибо JS.
Аноним 28/10/20 Срд 15:25:40 1842029401
На какой бесплатный сервер можно залить свой скрипт? Кто чем пользуется? Пробую Heroku, не выходит пока что.
Аноним 28/10/20 Срд 15:28:50 1842033402
Аноним 28/10/20 Срд 15:31:21 1842034403
>>1842029
pythonanywhere, если они еще живы.
Аноним 28/10/20 Срд 17:57:25 1842180404
Кто нибудь использовал https://github.com/bcdev/jpy
Как у него со стабильностью, были проблемы?
Аноним 28/10/20 Срд 17:59:05 1842182405
>>1841716
Вроде стало получаться, понял как и словари можно пихать в ванлайнеры. Вроде как удобно.
update_light = lambda current: {'green':'yellow', 'yellow':'red', 'red':'green'}[current]
Но вот твою строчку не до конца понял. Уж накрутил как то)
Аноним 28/10/20 Срд 18:36:43 1842237406
Аноны, подскажите пожалуйста что читать дальше.

Прочитал How to whink like a computer scientist, где объясняется начиная со стрингов и заканчивая ADT и деревьями, выполнил все задания и написал пару помогалок для себя.

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

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

Что теперь, просто читать список литературы из данного раздела подряд?
Аноним 28/10/20 Срд 23:02:19 1842509407
>>1841970
> Вот этого ↓↓↓ быть не должно вообще, когда 2020 уже на исходе
Ох лол.
> Отлично выполняет поставленные задачи
> Имеет хорошую документацию
> Огромное комъюнити и скоп решенные вопросов на SO
> Модули ну любой вкус
> Прост в создании и развитии

Так эт, антош, что не так то?
Аноним 28/10/20 Срд 23:07:25 1842510408
изображение.png 22Кб, 756x484
756x484
изображение.png 15Кб, 506x545
506x545
Вроде бы простая задача.
Но пиздец подкрался незаметно.

False и True это булевы. Но отправляются и читаются они как 0 или 1. (Логично конечно, но нахуя тогда они вообще? )
Поэтому вместо нескольких кривых но все же нескольких строчек, получилась лютая хуйня с аж тремя ифами. (1 иф проверка на ноль, а остальные два проверка является ли i = булевой, и какая именно.)
Как поменьше все это записать?
Аноним 28/10/20 Срд 23:15:40 1842515409
Уважаемые сеньоры с зарплатой 300ккк/фемтосекунду, подкиньте идей, что написать на гитхаб, чтобы наконец-то куда-нибудь взяли? Из знаний пайтон, джанго и скуль на уровне начинающего долбоёба. В голове идей вообще ноль.
Аноним 28/10/20 Срд 23:16:41 1842517410
>>1842515
имиджборда, и чтобы минимум 5000 запросов/сек держала
Аноним 28/10/20 Срд 23:18:30 1842518411
Я все правильно делаю?
Ставлю кату по пополярности, беру пистон, ставлю 8ку, тот что полегче для нюфага, и если не проходил то беру то что еще не юзал, и ебашу. Пользуюсь только гуглом и головой. В очень крайнем подглядываю стараюсь сам. Что я упустил если проходить все каты по уровням, то есть брать уровень, проходить, потом решать то что не решил и переходить на следующий уровень. Подумал что если скакать, то не будет результата. Над катой думаю не долго, если не вижу решения кидаю в закладки на потом, решаю то что могу, чтобы не тратить время. Иногда во время решения каты приходит мысля о другой кате, так и иду. Все норм?
Аноним 28/10/20 Срд 23:19:23 1842519412
>>1842509
Он синхронный и может настать момент, когда треды/пре-форки просто не справятся с io bound, с которым без труда справляются все асинхронные фреймворки и что бы не переписывать всю кодовую базу придется изъебываться с очередями задач и воркерами или вообще манкей патчить gevent'ом
Но для учебы норм
Аноним 28/10/20 Срд 23:19:54 1842520413
Аноним 28/10/20 Срд 23:21:07 1842522414
>>1842519
А как же балансировка нагрузки?
Вполне успешно его юзают и в проде, не имея проблем.
Аноним 28/10/20 Срд 23:24:57 1842528415
>>1842522
>А как же балансировка нагрузки?
Тогда тебе придется делать префорки, это будет работать до определенного времени, но будет сжирать память, процессор и коннекты к бд гораздо больше, чем другие фреймворки.
Аноним 28/10/20 Срд 23:26:52 1842532416
>>1842528
>Тогда тебе придется делать префорки
Я про балансировку до Фласка, балансировку запросов между серверами.
> коннекты к бд
Ну ебана, тут же ПгБаунсер стоять будет, это мимо.
Аноним 28/10/20 Срд 23:29:41 1842535417
>>1842532
>Я про балансировку до Фласка, балансировку запросов между серверами.
А на других серверах уже не фласк будет стоять что ли? Это деньги, между прочим.

>Ну ебана, тут же ПгБаунсер стоять будет, это мимо.
Ну да, тут погорячился
Аноним 28/10/20 Срд 23:38:01 1842540418
image.png 20Кб, 443x322
443x322
Аноним 28/10/20 Срд 23:46:00 1842545419
xxxxx.png 73Кб, 1000x1000
1000x1000
Аноним 28/10/20 Срд 23:50:51 1842548420
image.png 80Кб, 926x456
926x456
>>1842545
Это не отменяет того, что тебе придется делать префорки для фласка и увеличивать утилизацию памяти и процессора, что бы так же эффективно обрабатывать запросы сторонним сервисам/бдшкам, как это происходит на асинхронных фреймворках. Достаточно посмотреть какой rps aiohttp с uvloop могут выдавать.
Аноним 28/10/20 Срд 23:53:52 1842549421
>>1842548
Антош, а можешь ссылочку на инфу по этому графику дать для почитать, просветиться.
Аноним 29/10/20 Чтв 00:03:32 1842555422
Аноним 29/10/20 Чтв 00:10:49 1842561423
>>1842540
>>1842540
[x for x in array if type(x) not in {int, float} or x != 0] + [x for x in array if type(x) in {int, float} and x == 0]
Аноним 29/10/20 Чтв 00:11:06 1842562424
Аноним 29/10/20 Чтв 00:31:56 1842571425
>>1842540
Что-то я нихуя не понял, но спасибо.
Надо посмотреть что такое Ключ. А то я еще не разбирался с разбиением на функции.
>>1842561
Добавить всю хуйню что не входит в инты или флоаты или не равно нулю плюс добавить интовые числа равные нулю.
Бля, охуенно. Не знал что проверки можно сразу в листе хуярить.

Надо тренировку где показывают как делать однострочники.
Аноним 29/10/20 Чтв 00:56:51 1842583426
IMG202010290055[...].jpg 15Кб, 441x298
441x298
>>1842510
Можно одним ифом обойтись.
Аноним 29/10/20 Чтв 00:57:05 1842584427
Аноним 29/10/20 Чтв 00:58:56 1842585428
>>1842561
[x for x in src if str(x) != '0'] + [x for x in src if str(x) == '0']
пофиксил чутка
Аноним 29/10/20 Чтв 01:01:13 1842586429
>>1842584
>if isinstance(a, int) and a == 0
isinstance проверяет в том числе субклассы. isinstance(False, int) and False == 0 выведет True.
>>1842585
>[x for x in src if str(x) != '0'] + [x for x in src if str(x) == '0']
Заебись. Так и знал что можно короче.
Аноним 29/10/20 Чтв 01:12:44 1842600430
изображение.png 13Кб, 665x232
665x232
>>1842585
> [x for x in src if str(x) != '0'] + [x for x in src if str(x) == '0']
Нули бывают флоатными.
Энивей строка получается длинной.
[x for x in array if (str(x) != '0') and (str(x) != '0.0')] + [x for x in array if (str(x) == '0') or (str(x) == '0.0')]
Хотя может можно короче, я просто подправил.
Аноним 29/10/20 Чтв 01:22:55 1842606431
>>1842600
это всё пососет, если в исходном лите будет "0"
Забей на однострочники, ебашь нормально))
f = [x for x in src if str((x,)) in {'(0,)', '(0.0,)'}]
return f + [0] * (len(src) - len(f))
Аноним 29/10/20 Чтв 01:23:36 1842607432
Аноним 29/10/20 Чтв 01:36:21 1842609433
>>1842606
>f = [x for x in src if str((x,)) in {'(0,)', '(0.0,)'}]
>return f + [0] (len(src) - len(f))
Для таких случаев есть лямбды:

(lambda f: f + [0]
(len(src) - len(f)))([x for x in src if str((x,)) not in {'(0,)', '(0.0,)'}])
Аноним 29/10/20 Чтв 01:38:27 1842610434
image.png 5Кб, 921x69
921x69
Аноним 29/10/20 Чтв 01:38:48 1842611435
Аноним 29/10/20 Чтв 01:46:30 1842612436
изображение.png 46Кб, 1315x862
1315x862
Интересно. а каким образом выполнять это на питоне? И ведь 57 людей написало.
Ведь даже если ебануть цикл от 1 до n выполняя какую-нибудь простейшую вещь типо присваивания.(for i to range(n): n=1+1) то программа вывалится в тайм аут. Видимо тут нужны доп.библиотеки с хорошей математикой.

Олимпиадная хуйня?
Аноним 29/10/20 Чтв 01:47:27 1842613437
>>1842612
>Олимпиадная хуйня?
Да, забей на это говно.
Аноним 29/10/20 Чтв 02:46:54 1842618438
Сап, прочитал питон для детей, что читать/учить/смотреть/думать дальше?
Аноним 29/10/20 Чтв 03:17:27 1842619439
>>1842548
Беда фласка ещё в том, что он только и пригоден, чтобы делать сайты вида запрос-ответ, и ни для чего больше.

При этом сильно проигрывает в строгости и стройности Джанго, если клепать круды.

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

Во фласке, сколько я понимаю, можно добиться какой-то асинхронности, можно вебсокеты поддержать, но как-то очень сложно.

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

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

Аноним 29/10/20 Чтв 03:43:43 1842626440
Screenshot2020-[...].png 78Кб, 847x811
847x811
Screenshot2020-[...].png 83Кб, 857x818
857x818
Screenshot2020-[...].png 75Кб, 879x812
879x812
>>1842619
> сайты вида запрос-ответ
В принципе для этого его и норм юзать, вполне себе.
> для чего больше
"Что-то больше" обычно выносится в Celery или в отдельный сервис.

По бенчмаркам 2016 довольно тяжело сказать что фласк хуйнябезреальныхзадач. Ну а в использовании и поддержке - вполне себе дружелюбен.
Аноним 29/10/20 Чтв 04:05:14 1842628441
Аноним 29/10/20 Чтв 04:18:18 1842630442
>>1842626
>в отдельный сервис
И вот тут начинаются траблы с ожиданием ответа от сервисов при множественных запросах
Аноним 29/10/20 Чтв 06:54:09 1842656443
Аноним 29/10/20 Чтв 08:46:56 1842672444
Аноним 29/10/20 Чтв 08:47:45 1842674445
>>1841746
>Всем привет! Как понять работу .Net апликухи? Зачем нужны все эти сервисы типа Core, Admin и прочие мелкие? Почему просто нельзя сделать сайт на один сервис?
Тебе не в шарпотред?
Аноним 29/10/20 Чтв 10:59:47 1842729446
>>1841420
>Ничего не понял.
Установлен пайтон 3.8, мне нужно запустить проект под 3.5 (со слов заказчика)

> Просто делай запуск по глобальному имени, типа
/opt/virtualenvs/pytnon38/bin/python my_project.py

А, то есть после установки в pyenv 3.5 для его запуска у меня появляется имя в системе? Я просто не совсем понимаю, как этот pyenv работает.
Аноним 29/10/20 Чтв 12:33:54 1842799447
>>1842656
Я так и не понял, он в группе контрибьютеров то хоть есть?
Дохуя где форсил свой план.
Аноним 29/10/20 Чтв 12:43:22 1842808448
>>1842729
>Установлен пайтон 3.8, мне нужно запустить проект под 3.5 (со слов заказчика)
Скорее всего запустится без проблем на более новой версии. Там довольно хорошая обратная совместимость, хотя какие-то depricated штуки они выкидывают, только из-за этого могут быть проблемы. Но в 3.8 такого немного.

>А, то есть после установки в pyenv 3.5 для его запуска у меня появляется имя в системе? Я просто не совсем понимаю, как этот pyenv работает.
Когда ты делаешь вирнуальное окружение, происходит следующее.
Питон создаёт каталог для виртуального окружения, каталог ты сам выбираешь, например
/opt/virtualenvs/py35
В нём подкаталоги вроде bin, include, lib. В эти каталоги помещаются запускаемые файлы или ссылки на них, в эти каталоги ставятся модули через pip. Что-то ставится в систему, поэтому просто принцип "скопировать каталог" не сработает, если в системе не хватает некоторых питон-библиотек.

"Активация окружения" - это когда в "переменные окружения" добавляется значение
VIRTUAL_ENV=/opt/virtualenvs/py35
в PATH добавляется /opt/virtualenvs/py35/bin
Ну и ещё в линуксе меняется приглашение командной строки, чтобы было видно, что ты работаешь через окружение. Всё.

Всё остальное делает сам питон, когда ты его запускаешь. Если он находит в переменных среды VIRTUAL_ENV, то использует систему модулей оттуда. Если нет, то он вычисляет, откуда брать модули по тому, откуда был запущен сам интерпретатор.

Поэтому ты просто можешь запускать интерпретатор по полному имени. Не как python my_script.py, а как /opt/virtualenvs/py35/bin/python my_script.py. Тогда тебе не нужно менять PATH (исходно PATH нужен для того, чтобы без полного пути команды запускать, любые, и ни для чего больше), тебе не нужно активировать окружение. Просто берёшь и запускаешь, и всё идеально работает.

Так даже в "домашнем режиме" удобнее работать. А на сервере только так и надо что-то запускать.
Аноним 29/10/20 Чтв 12:52:23 1842817449
>>1842799
Да какой-то шизанутый тип, похоже, не очень понимающий, что к чему. Что-то изучивший в универе, и теперь счищающий, что сможет изменить мир, дай только волю и бабло. Типо все разработчики тупые бараны, ничего не могущие, а вот он в универе учился и умные слова знает.

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

В то время как ускорители питона в реальности есть. Например pypy, который с JIT и реально что-то ускоряет в разы, хотя что-то не ускоряет и что-то может даже замедлить. Модуль nuitka.

Кто бы для разработчиков pypy денег подогнал, а то они медленно работают и отстают, только сейчас как-то 3.7 версию поддержали.
Аноним 29/10/20 Чтв 13:06:06 1842836450
>>1842817
Там где-то в каментах было, что он уже чем-то таким успешно занимался.
Так что может бы что-то и взелтело, но какой-то уж слишком эпический план.
Аноним 29/10/20 Чтв 13:43:56 1842864451
Почему requests.get(URL) для одного и того же URL возвращает разные данные на локальной машине и на удаленном сервере?
Аноним 29/10/20 Чтв 13:45:04 1842865452
Аноним 29/10/20 Чтв 13:59:24 1842876453
>>1842865
Вот ответ с удаленного:
window._sharedData = { "config": { "csrf_token": "1NAFJw6hjWarqoCEvdqqoWA22NvW44n1", "viewer": null, "viewerId": null }, "country_code": "US", "language_code": "en", "locale": "en_US", "entry_data": { "LoginAndSignupPage": [{ "captcha": { "enabled": false, "key": "" }, "gdpr_required": false

Вот ответ с локального:
window._sharedData = {"config":{"csrf_token":"sPZpGC3lTeh6nXAmVmwhwihenhBCx4cw","viewer":null,"viewerId":null},"country_code":"RU","language_code":"en","locale":"en_US","entry_data":{"TagPage":[{"graphql":{"hashtag":{"id":"17842255069035128","name":"bogota","allow_following":false,"is_following":false,"is_top_media_only":false

После ключа "entry_data" все по-разному.
Аноним 29/10/20 Чтв 14:03:59 1842879454
>>1842876
Ну как минимум US/RU, я бы в эту сторону смотрел.
Аноним 29/10/20 Чтв 14:07:57 1842885455
>>1842879
Возможно, что серверный айпи зашкваренный.
Аноним 29/10/20 Чтв 14:26:22 1842914456
>>1842885
удаленный сервер - Heroku. вряд ли айпи зашкваренный. тут что-то с параметрами requests.get(). попробовал с aiohttp.ClientSession(), результат такой же.
Аноним 29/10/20 Чтв 14:38:38 1842930457
>>1842914
Как раз таки очень вероятно, там же есть бесплатные планы, с которых можно пакостить.
Аноним 29/10/20 Чтв 14:39:11 1842933458
>>1842876
Как вариант, с одного компьютера ты авторизован, а с другого нет, вот и выдаёт тебе разные данные. Сессия легко может быть привязана к ip адресу, например.
Аноним 29/10/20 Чтв 14:41:26 1842935459
>>1842933
Лол, так не бывает. Нужны печеньки или другие хуитки, а то всякие локалочки бывают, серые айпи и т.д.
Аноним 29/10/20 Чтв 14:41:43 1842937460
>>1842930
вот это попробую перепроверить.

>>1842933
тут точно нет.

кто где вообще хостит ботов?
Аноним 29/10/20 Чтв 14:49:55 1842949461
>>1842836
Все мы чем-то занимаемся. Но план смотрится "я просто сяду, и перепишу круто", без пояснений. Для меня это признак того, что человек не совсем адекватен.

В команде разработчиков питона вообще говоря очень серьёзные спецы, и если что-то работает медленно, то на то есть объективные причины, что вот просто так не перепишешь, чтобы быстро. Если есть какие-то ограничения, тот же GIL, то потому, что многие фишки языка просто завязаны на эти ограничения и их не выпилишь так просто.

При этом сторонние проекты есть, которые призваны ускорить питон, и даже как-то поддерживаются питон-сообществом. Тот же PyPy.

В реальности всё обычно выглядит так, что ты начинаешь оптимизировать и сталкиваешься с тем, что оптимизировать невозможно, не меняя что-то принципиально в устройстве языка. Вот сложно делать JIT или компиляцию в бинарный код, когда внутри все объекты завязаны на динамические словари, все данные через них. Когда всё объект, а всё объект нужно для того, чтобы всё можно было использовать кк ключ в словарях и т.п. И куча других нюансов.

Если чел серьёзно не контрибьютил в питон, то такие предложения можно даже и не рассматривать.

А выступить с таким предложением может любой абсолютно.
Аноним 29/10/20 Чтв 15:32:43 1842975462
>>1842808
>Тогда тебе не нужно менять PATH (исходно PATH нужен для того, чтобы без полного пути команды запускать, любые, и ни для чего больше), тебе не нужно активировать окружение.
Спасибо, анон, примерно так я и понимал это дело. Видимо на стороне разработчика проекта уже какие-то неадекватные требования, на мои логи ошибок он просит «установите 3.5», что очень странно, как я считаю.

Ну там проект на джанге, надо попробовать миграции сделать чтоли...

Алсо, что порекомендуешь для восстановления эээ ммм уу конфигурации пайтона и пипа. Я сначала с дуру все присланные requirements.txt начал ставить и пип улетел в ошибки на любой вызов, вылечилось curlом пипа напрямую, но, мне кажется, у меня сейчас какая-то каша из модулей разных версий. Как вообще лучше всего соблюдать эту гигиену питона, не ломать его зависимости, диагностировать его состояние? Я понимаю, что принцип, возможно, общий для nix систем, но все еще не ясно, как «культурно» разрабатывать на нем. Привык я к сишным гвоздям, забитым в виме и мейку.
Аноним 29/10/20 Чтв 15:38:52 1842983463
>>1842975
виртуальное окружение позволяет не засрать систему разными модулями.
Аноним 29/10/20 Чтв 15:49:45 1842989464
Стоит ли вскрывать решения каты или нужно пытаться самому? Напр, если задача чисто на математику и я в этом не силен, и если я просто буду знать формулу, то напишу прогу для решения или буду знать алг для решения задачи. Или я буду довеном после открытия решения? Как нужно, сидеть и дрочить, или скипать.
Аноним 29/10/20 Чтв 15:51:51 1842991465
какую оболочку для командной строки винды сейчас использовать?
чтобы были доступны команды терминала линукс
Аноним 29/10/20 Чтв 15:55:13 1842995466
>>1842989
Если знаешь формулу. то в чем проблема ее подставить?
если ты не умеешь 2+2 складывать, то работодателю тоже ответишь, что нахуй мне этот ваш матан. я хочу лишь на жопе сидеть и получать деньги.
Учись гуглить и разбивать задачу на более мелкие подзадачи.
Аноним 29/10/20 Чтв 16:05:56 1843010467
>>1842949
Ну как грится - посмотрим, из переписки я понял что он хочет сделать этап -> показать результат -> получить ЗП -> перейти к следующему этапу. Выглядит ок, чо, пускай пилит.
Аноним 29/10/20 Чтв 16:06:57 1843013468
>>1842975
>requirements.txt
На редкость порочная практика. В принципе, вещь правильная, если подходить правильно и описывать зависимости руками, указывая диапазоны и ограничения, достаточные, чтобы сохранить обратную совместимость.

Но в реальности все ленивые, тупо делают pip freeze, который замораживает версии библиотек намертво, в духе "packet==3.8.6", хотя всё прекрасно работает и с версией 3.15.2, а другому пакету критично, чтобы версия была не ниже 3.10.1, и вот ебись потом сам с этими зависимостями.

pip freeze это максимум для докер контейнеров решение, и то не идеальное.
Аноним 29/10/20 Чтв 16:10:47 1843018469
>>1843010
>получить ЗП -> перейти к следующему этапу. Выглядит ок, чо, пускай пилит.
Вот здесь очень тяжело. Нет работодателя, готового платить полноценную зарплату. Нет того, кто может просто так выделить деньги.

Даже у проверенных и востребованных проектов с именем масса проблем с финансированием.

А так, пускай пытается. Но для меня очевидно, что ни бабло привлечь не сможет, ни что-то сделать реально работающее и полезное.
Аноним 29/10/20 Чтв 16:38:51 1843059470
>>1842995
Да не, это все ясно и ты прав.
> Если знаешь формулу
я про каты) а не про работу. Дело в том что кодить - не сложно, если знаешь формулу, если тебе ее дадут написать прогу - как нехуй делать. С алгами - сложнее, иногда решение упиратеся и в знание языка тоже. Например я знаю как, но не знаю какой инстумент заюзать. Конечно я гуглю. Я вообще спрашивал про кодворз) стоит ли вскрывать кату и подсматривать решение или нет? Или надо сидеть прям до конца.
Аноним 29/10/20 Чтв 16:52:31 1843072471
>>1842975
>разных версий. Как вообще лучше всего соблюдать эту гигиену питона, не ломать его зависимости, диагностировать его состояние?
Бля, пиздец какой-то. Буквально пару дней назад угрохал кучу времени на то, чтобы понять, почему aiohttp иногда оставляет хендлеры с вебсокетами, когда вебсокеты реально закрыты. Почему не понял, в кишки не лез, но думал, как обойти. Придумал, как правильно размазать сопли в хендлере, чтобы всё-таки такие соединения отлавливать и убивать.

А оказывается, уже целых пять дней назад Светлов выкатил версию aiohttp 3.7 (вместо 3.6), где судя по анонсу, вокруг вебсокетов как раз куча багов закрыта.

И походу мои баги тоже закрылись.

Бля, не мог на пару месяцев раньше выкатить. Ну или полгода ещё подождать, чтобы не так обидно было, столько нервов, столько нервов... Хоть FastAPI изучай.
Аноним 29/10/20 Чтв 17:23:36 1843097472
>>1841445
>>1843059
> Или надо сидеть прям до конца.
Чего ради ты играешь на кодворсах?
Аноним 29/10/20 Чтв 17:26:00 1843101473
>>1843097
А где? Ну я просто набиваю скил и хоть что-то кодю. ДА и попрактиковатся можно. А есть что получше?
Аноним 29/10/20 Чтв 17:27:26 1843106474
>>1843097
Верхнее случайно приклеилось.
Аноним 29/10/20 Чтв 17:27:55 1843108475
>>1843101
Ну и что за формула? Что за задача?
Аноним 29/10/20 Чтв 17:52:06 1843154476
>>1843108
Я не про конкретную) я в целом, стоит ли вскрывать решение или нет, или надо сидеть самому. Я хочу понять стоит ли прям задрачивать математику рад хонора или нет? Програмирование - это же не чистая математика, обработка данных идет по заданному алгу а не по только что выдуманному, для такого есть уже дургие люди. Например, моя задача поднять сервер, а не придумать новый фрейм, алг к тому чтобы поднять. Я вот про что, в рил лайфе, тебе дадут исходные данные, с формлуами, задача - сделаь готовую прогу. А так, уйдут годы, надо будет каждый раз либо изобретать велосипед, либо проводит тоны времени в поисках секретной педали к велосипеду. Чтобы просто поехать.
Аноним 29/10/20 Чтв 18:18:02 1843172477
>>1843154
Если тебе интересно, то задрачивай, если нет, то нет.
Что за вопросы детские?
Аноним 29/10/20 Чтв 18:27:08 1843177478
>>1843154
Я тоже не понимаю, о чём вопрос.

Хорошая схема такая - ты сидишь и думаешь над решением, что-то реализовываешь, или сдаёшься, если не знаешь как или слишком топорно.

Потом смотришь другие решения, сравниваешь со своим, смотришь на плюсы-минусы другого решения, думаешь, почему сам до такого не догадался.

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

Так ты чему-то учишься и нарабатываешь скилл.

Просто смотреть чужие решения и запоминать их бесполезно.

>Я вот про что, в рил лайфе, тебе дадут исходные данные, с формлуами, задача - сделаь готовую прогу.
Это упрощённое и наивное представление, в RL такого не бывает, чтобы было чёткое ТЗ и описание, как это реализовывать.

В реальности очень смутная постановка задачи, не понятно, как решать, посоветоваться не с кем, при этом задача меняется постоянно на противоположную, и всё это надо вписать в огромную инфраструктуру уже написанного и не очень дружного, куда хрен влезешь со своими правками и хрен вообще разберёшься, что и как там работает.
Аноним 29/10/20 Чтв 19:26:18 1843216479
кто в вебе работает.
Сейчас по асинхронщине как дела?
Больше на нее переходят? Какие фрейморки актуальны?
Аноним 29/10/20 Чтв 19:32:56 1843221480
>>1842930
нет, от зашкваренности айпи не зависит. только что попробовал с девственно чистого адреса. все равно лажа какая-то с результатами запроса.
Аноним 29/10/20 Чтв 20:12:24 1843273481
Как мне запилить свою борду? fat api подойдет в качестве бека? Можно пошагово как плис.
Аноним 29/10/20 Чтв 21:56:22 1843349482
>>1843177
Просто когда я решаю кату - у меня чувство удовлетоворения, что написал код, вроде как не зря. А когда нет - и упирается в математику - а не в язык - у меня апатия, или когда мейнтейнер криво написал задание. Как то так. Поэтому и спросил, скипать каты - это как, зашквар или нет?
Аноним 29/10/20 Чтв 22:11:28 1843356483
Подумываю запилить бота для двача. Как первый проект, и ради лулзов.
Будет парсить /b/ и в случае совпадение с ключевым словом, постить картинку в ответ на этот пост(Нет не свыню, и нет ключевое слово совсем другое)

Что нужно для этого? Наверняка есть уже такие же боты, но хотелось бы самому написать
Аноним 29/10/20 Чтв 22:16:07 1843364484
>>1843356
1. pip install requests
2. 2ch.hk/api/
3. if "русня" in message:
Аноним 29/10/20 Чтв 22:20:13 1843370485
>>1843349
Надо, чтобы какое-то удовольствие приносило, иначе толку нет, только во вред, тупо выгораешь от таких задач.

Я не думаю, что есть большой смысл в больших объёмах "олимпиадных" задач. Слишком специфичны и слишком ограничены.

Они полезны, но они лишь малая часть от реального программирования.

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

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

Порешал эти задачки, займись чем-нибудь более прикладным. Потом ещё можно будет порешать сколько-то, чтобы мозги размять. ИМХО как-то так.
Аноним 30/10/20 Птн 01:02:46 1843465486
>>1843349
>Как то так. Поэтому и спросил, скипать каты - это как, зашквар или нет?
Лично я вообще не мог заставить себя решать подобные задачки. Основные навыки получил при помощи РАБоты, пет-проектов и регулярного чтения документации и разных туториалов. Этого хватает чтобы за несколько минут решать легкие и большинство средних задачек. Ну а тяжелые просто не интересно, поскольку для их решения нужно знать математику и алгоритмы, которые больше нигде не пригодятся.
Аноним 30/10/20 Птн 01:33:45 1843473487
изображение.png 3Кб, 263x80
263x80
Какие же они хуесосы блять.
Перевели машиной СОФ. и сидят блять рекламу гребут. Причем не сразу заметно что это машина, и не сразу заметно, что это парашный клон.
Когда же их закроют блять. Почему бы не выдавать гуглу просто английский СОФ который можно читать без крови из глаз?
Аноним 30/10/20 Птн 01:42:54 1843474488
>>1843465
Ну эти задачки начал решать после прочтения частично луца, укуса и оф доков. Так бы и не начал. Тебе повезло, я только ищу работу. ПОэтому для меня подобные сайты - хоть какая-то практика. Я уже хотя бы могу в синтаксис. Если даже не получается решить, я читал про списки например, про их методы, что-то кодил и тд, уже ставлю себе галочку что что-то делал. Например, задачка был по регулярками, не решил, отложил на потом, НО, я еще раз почитал гугл по теме и освежил в памяти. Строки даются тяжело так как они не изменяемы, и надо постоянно все преобразовывать.
Прогоняю то что могу решить, остальное оставляю на потом. Хочу чтобы это стало частью хобби, даже когда найду работу кодером, буду там сидеть.
К свлоу, хотел бы запилить борду, но не знаю с какого каря взяться. Вот и все. А так - навык есть, хоть какой-то и литл практика. И это лучше чем просто читать.
Аноним 30/10/20 Птн 01:47:28 1843476489
>>1843474
>К свлоу, хотел бы запилить борду, но не знаю с какого каря взяться. Вот и все. А так - навык есть, хоть какой-то и литл практика. И это лучше чем просто читать.
Запилить самому борду было бы намного полезнее чем решать эти задачи.
Аноним 30/10/20 Птн 01:48:55 1843477490
>>1843476
>>1843273
НУ вот и помоги мне советом. Который раз спрашиваю и тишина.
Аноним 30/10/20 Птн 01:53:36 1843479491
Аноним 30/10/20 Птн 02:02:30 1843482492
>>1843479
Это я уже делал пару лет назад, потом бросил, вот вернулся снова. И это самое простое на мой взгляд. ТАк то джанга проста как палка и хорошо задокументирована, я не знаю только как сделать фрон, а остальное - как бы ясно. Вот эти дзиндзи и прочее.
Аноним 30/10/20 Птн 02:08:36 1843483493
>>1843482
>я не знаю только как сделать фрон, а остальное - как бы ясно
Чего конкретно не понимаешь? Вот тут хорошие туториалы по HTML/CSS/JS: https://www.w3schools.com

Основы верстки можно освоить за один-два вечера, а дальше будешь просто набирать опыт и учиться делать быстрее и лучше.
Аноним 30/10/20 Птн 02:12:39 1843484494
>>1843474
>>1843482
>джанга проста как палка
Судя по всему тебе ещё далеко до писания борд. Иначе бы так не писал.

А вообще, конкретно про Джанго, там в офф. доках как раз разбирается пример учебного приложения-голосовалки. Можно его разобрать.
Аноним 30/10/20 Птн 03:02:37 1843489495
>>1842548
Можете рассказать где граница проходит, предположим каждую секунду к сервису обращаются 100 пользователей, это много/мало, как разделять на то где нужен асинхронный, а где нет и кст, хз какого года график, но в джанге же есть асинхронность, че он сосет так
Аноним 30/10/20 Птн 04:17:50 1843495496
>>1843489
График 2016 года.
Просто юзай асинхронность везде и норм.
По факту, синхронные сервисы прекрасно справляются с нагрузкой, там где они подходят под задачу. Но расход средств памяти и ЦП у них выше.
Аноним 30/10/20 Птн 06:31:22 1843511497
>>1843489
В джанге пока не полноценная асинхронность, и основана она на порашных тредах, потом перепишут, плюс у джанги куча обвязки с самого начала уже, можешь миддлвари посмотреть. Базовая джанга из коробки никогда не будет быстрее любого микрофреймворка
Аноним 30/10/20 Птн 11:19:05 1843598498
Аноним 30/10/20 Птн 12:11:03 1843637499
Сап народ не в теме машинного обучения но вопрос можно ли запилить тян-бота на основе переписки с тян в WhatsApp. Хз почему такая ебнутая мысль пришла. Если можно как мне от туда вытащить текстовые сообщения и поидее нужно отсортировать их на мои и её и какую лучше библиотеку брать? Tensorflow?
Аноним 30/10/20 Птн 12:23:01 1843652500
>>1843637
Иди в тред машинных обучателей
Аноним 30/10/20 Птн 12:30:12 1843657501
Аноним 30/10/20 Птн 13:19:42 1843705502
>>1835577 (OP)
Аноны, объясните нафане, я правильно понимаю, что Питон на компе, должен быть всегда пустой, без библиотек. А библиотеки нужно подгружать в виртуальную среду проекта (в ПайЧарм например), для каждого соответственно свои? Или я как-то не так понял про виртуальную среду?
Аноним 30/10/20 Птн 13:43:07 1843731503
Аноны, с сервера делаю aiohttp.session.get(URL, proxy=proxy). В ответ приходит Bad Request и 400. Что делаю не так?
Аноним 30/10/20 Птн 14:15:53 1843769504
>>1843731
Куда запрос, какая прокся, скидывай полный код
Аноним 30/10/20 Птн 14:42:30 1843801505
>>1843705
Да, не засираешь системный питон, а в каждом проекте хуяришь венв.
Аноним 30/10/20 Птн 15:09:01 1843819506
>>1843801
А на винде ты разрешаешь засирать мой системный питон?
Аноним 30/10/20 Птн 15:38:51 1843842507
А можно ли сортировать не все элементы, а только часть?(Например не трогать семерки) Или это самому придется писать? Аля сортировка пузырьком с доп ифом?

Просто вроде в .сорт можно поставить функцию которая будет применяется к элементу до его сортировки, но можно ли с помощью нее делать выборку?

Аноним 30/10/20 Птн 16:12:44 1843873508
Аноним 30/10/20 Птн 16:22:01 1843884509
>>1843819
Какая разница? Везде засирается одинаково.
Аноним 30/10/20 Птн 16:25:25 1843888510
Аноним 30/10/20 Птн 16:32:27 1843895511
Как проверить еще деление с остатком и без кроме как is_integer? Чтобы было так
если число делится с остатком - заебись. или нет. А не так что в равенство пихать эти is_
Аноним 30/10/20 Птн 16:36:03 1843900512
>>1843895
А мод тебя чем не устраевает?
Аноним 30/10/20 Птн 16:36:33 1843901513
Аноним 30/10/20 Птн 16:53:28 1843913514
Аноним 30/10/20 Птн 16:54:42 1843914515
>>1843769
вот такой запрос, бро https://pastebin.com/p4jV7QqC.
отдает не то, что бы я хотел. отдает форму входа, хотя на локалке все норм.
Аноним 30/10/20 Птн 17:54:11 1843999516
>>1843842
Можешь сохранить положение семерок а потом их вставить.
Аноним 01/11/20 Вск 11:42:09 1845352517
>>1835577 (OP)
Анон, подскажи книгу на русском новичку для изучения языка. Книг много, не знаю какую выбрать.
Аноним 01/11/20 Вск 14:46:08 1845437518
Аноним 12/11/20 Чтв 20:15:35 1854580519
Аноним 30/11/20 Пнд 22:11:21 1869603520
IMG202010231112[...].jpg 16Кб, 478x346
478x346
Блин, програмач.

Делаю тесты, надо имплементировать поглощающих цепи Маркова на питоне, чтобы на вводную матрицу она выдавала результат - лимитирующую матрицу.

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

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

Уже все перебрал, и когда все штаты абсорбирующие кроме одного и наоброт. Сижу с ручкой считаю все правильно выходит.

Тесты скрытые, данных не вижу.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов