Двач.hk не отвечает.
Вы видите копию треда, сохраненную 16 ноября 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред #72 /python/ 1512752 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #72.
Предыдущий >>1502633 (OP)

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

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

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

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

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

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

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

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

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

Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
2 1512797
здоровы почаны. хто какую асинхронную ОРМ юзает? я тут решил на асинхронных питонах начать писать и всё было норм, до того как я приступил к работе с БД. попробоваил GINO - хуже этой хуйни в жизни ничего не видал, легче на чистом sql писать. неужеле с асинхронный питоном всё настолько плохо, что до сих пор блять нет нормальной ОРМ, скажите что это не так пожалуйста. потому что чем больше я изучаю эту тему, тем больше во мне уверенности, что асинхронный питон всё ещё годен лишь для пет-прожектов, а в проде для этих целей лучше юзать какой-нибудь ГО, даже там всё лучше в этом плане
3 1512862
Продублирую >>1512318
4 1512868
>>12862
Что сплит делает? С обоими текстами выведи что получается после сплита и подумай, правильно ли он это делает.
5 1512887
>>12868
Ну сплит разделяет слова по заданным знакам. Если не задать ничего, то по пробелам.
6 1512891
>>12887
Точнее, разделяет строку, превращая в список
7 1512892
>>12797
Чем GINO не угодил?
Мимоюзаемвпроде
8 1512894
Как напрямую получить доступ к счетчику ссылок на объект в пределах модуля?.. Есть счетчик слабых ссылок на объект (не понял правда нахера он нужен), а где счетчик обычных?..
9 1512976
>>12892
Говно ебаное. Не, так-то неплохо, но там же хуй проссышь местами как чего использовать, а в доках нихуя нет. Половина фич из алхимии работает, а половина вроде как не работает либо совсем, либо их дергать надо хуй пойми как. И да, манятуманя там вообще нет - мне пришлось много костылей напихать, чтобы m2m можно было по-человечески использовать и не писать руками кучу одинакового говна для каждого отношения.
Но я так понял, из альтернатив ничего лучше нет, так что придется gino хавать и надеяться, что китаец когда-нибудь допилит. Хорошо хоть на гытхабе отвечает довольно бодро и многие вопросы там можно найти.
>>12797
Я сначала тоже думал, что sql чистый будет проще. Потом посмотрел на это все и понял, что нихера не проще. С gino можно использовать alembic для миграций, а так все придется руками писать. Так-то асинхронные инструменты в питоне есть крутые: aiohttp, fastapi те же, но с орм пока что беда, хотя gino у нас в проде крутится и нормалды. Ждём django 3 с асинхронщиной, лол.
11 1512994
>>12894
Хоть убейся, ничего не выйдет.
12 1512996
>>12976

> Ждём django 3 с асинхронщиной


Хах
Ещё есть Peewee, кстати, но он мне не понравился своей структурой.
image.png15 Кб, 263x357
sage 13 1513012
Подскажите, пожалуйста, как лучше всего сделать следующее на Питоне:

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


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

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

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

подскажите, пожалуйста, как организовать эту цепочку
14 1513015

> HTTP пост запросам


> с помощью socket сделал сервер


Всё у тебя хорошо?
Возьми фласк/aiohttp и замути всё что тебе надо.
15 1513016
16 1513019
Ребята, хлопци, пацаны, мне нужно сгенерировать несколько пикч, 3д рендеров с парой-тройкой простых фигур в каждой по заданным вершинам, подскажите пожалуйста библиотеку с которой это будет проще всего сделать
17 1513021
>>13019
opencv
18 1513025
>>13012
Ты хочешь сам реализовывать HTTP протокол? Хочешь сам реализовывать асинхронность и параллельность?

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

Если это тестовое задание, то я тебе сразу и честно говорю, ты для этой работы пока не готов. Разберись с асинхронностью. Мозг сломать надо, на это время надо, но как сломаешь, так потом несложно будет.
19 1513029
>>13021
Это с viz или шо? Ну как-то не выглядит слишком просто. Уже посмотрел несколько библиотек и везде практически тот же уровень ебли что с голым opengl
21 1513039
>>13032
С 3д там хуже, только чтобы настроить камеру нужно поиграться. Нет, я не боюсь первого семестра линейной алгебры, но мне нужно будет немало повозиться с этими рендерами, так что я хотел нацти что-то максимально примитивное и простое (пусть и в ущерб функциональности, хуле)
sage 22 1513043
>>13015
окей, спс

>>13025

>Если это тестовое задание, то я тебе сразу и честно говорю, ты для этой работы пока не готов


да, ты угадал, но всё-таки я хочу попытаться сделать хоть какое-то работающее решение хотя бы сделать задел на будущее
спасибо за советы
23 1513045
Укус питона для вката в более продвинутые книги норм? Или есть что получше для того же уровня?
24 1513048
>>13045
Я Лютза 4е издание использую. Очень хорошая база. Так же использую этот https://www.youtube.com/watch?v=ZgSx3yH7sJI&list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0&index=2
плейлист, ну и для практики задания от МФТИ. Хотя пока сложновато с ними
25 1513054
>>12892
Выше человек >>12976
всё верно расписаи. Я только начал вкатываться в GINO уже охуел от отсутствия документации, и это я ещё ничего сложнее аггрегирующих функций не использовл, что будет дальше даже подумать страшно.

Если у вас есть продовый опыт может поясните за структуру проекта в aiohttp. Как например db-коннекшн передаете? Объявляете глобально один раз или прокидываете через из app.config. Буду рад нормальным материалам по этой теме
26 1513055
>>13048
А почему 4-е именно?
27 1513056
>>13055
Оно для 3го питона со всеми последними изменениями и исправлениями
28 1513059
>>13056
Ну там просто 5-е есть. Оно разве менее актуально, чем 4-е?
29 1513065
>>13059
А вот тут уже не знаю. Я вообще 4е взял, потому что его все рекомендуют из-за плюсов, мной перечисленных. Быть может, пятое урезано в некотором плане?
Надо спрашивать у местных знатоков
30 1513094
>>13065
Можешь просто посмотреть что он пишет в разделе "about this edition", никто явно версии не сравнивал
31 1513099
>>12887
Не по пробелам, а по вайтспейсам.
33 1513106
>>13012
Тебе достаточно принимать файл с помощью какого-нибудь микрофреймворка (выше уже сказали) и плодить процесс на каждую обработку, для асинхроннщины есть даже специальный run_in_executor
34 1513107
>>13099
Имеешь ввиду по чистым пропускам? По идее тогд надо пробел, запятую и другие знаки в разделители внести. Но как быть со знаками, которых он не досчитался? слов больше оказалось лол
35 1513111
Какие есть GUI для питона? Кроме Qt и tkinter.
36 1513123
>>13111
Киви, но хуй знает, допилили ли его до вменяемого состоянияя
37 1513165
>>13123
Спасибо. Блин, ткинтер простой слишком, а кьютэ тяжеловесная махина. Хотелось бы что-то по серединке. Но по ходу буду с кьютэ ебаться
38 1513195
такс анонасы. нужны ваши советы. не хочу спрашивать в мывамперезвоним треде т.к. там одни неадекваты сидят поэтому спрошу тут. хочу вот вкатываться на позицию джуна в вебе. по вашим же советам написал блог и свою аиб на джанге и запихнул в свое портфолио на гитхабе. так вот: в моем зажопье 20 вакансий на джангу, но везде нужны мидлы или сеньоры. что мне делать? слать им резюме и в сопроводительном письме писать возьмите плиз на стажировочку за мрот?
Помогите.png52 Кб, 645x457
39 1513214
Анончики, которые помогали мне в прошлом треде с заданием. Вы его похоже не правильно решили. Вы сказали что не нужны входные данные. А теперь препод скинул еще инфы. И оказывается что входные данные есть. И снова прошу вас помощь, ибо я не могу понять что и как
40 1513218
>>13214
Что тебе надо-то? Что не так? Вбивай в прогу данные, какие есть, и погнал
41 1513221
>>13195
Тыжпрограммист, вот и прикинь сам: если джуны им не нужны, то они:
1. проигнорируют тебя (вероятнее всего)
2. позвонят и злым голосом скажут, чтобы ты больше им не писал (вряд ли)
3. внесут тебя в чорный список по всей стране и вообще будут тебе под дверь срать (я такого не встречал)
Если же джун не помешает, то тебе позвонят и позовут поговорить.
То есть лучше слать, чем нет.
42 1513222
>>13214

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


Хуя ты наглый чорт.
43 1513229
>>13218
код, который дали анончики не заработает в том виде с входными данными
44 1513236
>>13221

>Если же джун не помешает, то тебе позвонят и позовут поговорить.


это ведь можно узнать только если я им отошлю свое резюме с письмом?
45 1513237
>>13229
В смысле "код не заработает"?
Ты хочешь сделать copy -> paste и получить волшебную пилюлю? Препод найдет где доебаться, если не шаришь. Я не вчитывался, что за код они тебе дали, но блэт уверен что они мыслили в нужном направлении. Просто рефакторни его для себя блин
46 1513240
>>13236
Можешь ходить с таинственным видом вокруг их офиса, рано или поздно они не выдержат и спросят, не хочешь ли у них поработать.
1D9F149B-FF41-451B-A244-EEC0896F0E38.jpeg241 Кб, 1080x1334
47 1513277
>>13214
в чем сложность то? Сгенерируй список иксов, например, с помощью np.arange(-2,2,0.3) и пройдись по ним в цикле как-то так

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

otvet = [ func(i) for i in np.arange(-2,2,0.3)]
48 1513315
Сука, как вообще можно прогать на этом говне? Без инкапсуляции, без адекватной параллельности, с производительностью полудохлой лошади?..
49 1513358
>>13315

> Без инкапсуляции


Ещё один неправильно понял смысл инкапсуляции.

> без адекватной параллельности


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

> с производительностью полудохлой лошади


А не пиши числодробилки на питоне, и не будешь страдать.
50 1513361
>>13277
А когда я это сделаю, меня будет ждать такая баба на пляжу?
image.png216 Кб, 640x426
51 1513365
>>13361
лучше. тебя будет ждать она
52 1513371
>>13315
Там есть инкапсуляция, алё.
53 1513409
>>13371

>инкапсуляция


>невозможно сделать класс доступным только на уровне модуля


збс
54 1513451
>>13409
Дай угадаю, ты из тех людей, которые считают, что если в языке нет ключевых слов private и public, то значит и нет инкапсуляции. Так вот, открою тебе секрет, если разработчику понадобиться достать приватный класс или поле, то он его достанет с помощью рефлексии и никакой private ему не сможет в этом помешать. Так что в итоге всё сводится к конвенциям, а если так, то зачем нагружать язык дополнительными конструкциями.

Вот серьёзно отсутствие private и public в Python - самый наименьший недостаток
55 1513472
>>13451
Кстати, тут приводили пример, как через замыкания сделать сокрытие функций. Я ботал потом на эту тему, реально работает, то есть никаким адекватным образом ты до переменных внутри не доберёшься.

Правда на самом деле это не нужно, ни для каких реальных задач. Пионерство да и только.
56 1513512
>>13111
WxPython
PyGame
PySimpleGUI
Toga
fbs (build-system.fman.io)
Gooey
flexx
cefpython
glooey
pyglet
pyforms
pygobject
pyside
fltk
57 1513519
Сап, питоноводы.
Как лучше всего реализовать работу с несколькими пользователями в боте впараше? Тхреадинг или асинкио?
58 1513563
>>13277
Компилятор на вторую строку ругается. Инвалид синтакс
59 1513570
>>12752 (OP)
Уже второй тред пишу, чтобы в шапку добавили соус под размещение листингов - https://dumpz.org
60 1513571
>>13107
Скорее всего в тексте знак применения был обрамлён пробелами, соотвественно это получилось отдельным словом, либо было где-то 2 пробела и в списке появилась пустая строка, посмотри все слова с одной буквой и меньше.
print([word for word in your_words of len(word]) < 2)
61 1513573
>>12892
Когда я вижу слово, которое похоже на говно, оно у меня сразу вызывает опасение. GVINO хороший пример такого слова.
62 1513575
>>12894
Через сборщик мусора можешь получить список все ссылок на объекты, соотвественно count адреса твоего объекта должно дать количества объектов, но лучше такой херней не заниматься, как мне кажется.
63 1513582
>>13512
А где gtk?
64 1513583
Вкотился, всем привет. Я тут ковыряю комсоль гедита. А там GtkTextBuffer.
Ясно, что можно исходники комсоли отредактировать, но мне почему-то кажется, что должен быть способ в уже готовом TextView заменить буфер на более продвинутый, скажем, на GtkSourceBuffer. Я ошибаюсь? Мне казалось, что я где-то видел что-то подобное.

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

textstyle=view.get_buffer().get_style_scheme().get_style('text')
selectionstyle=view.get_buffer().get_style_scheme().get_style('selection')
textstyle.get_property('background') # #001b33
textstyle.set_property('background','#440000')
textstyle.get_property('background') # И всё равно #001b33, то есть вообще ноль изменений. А как тогда?
65 1513584
Приветики, питонщики!

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

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

В этой папочке хранится клиентское single-page приложение, которое писалось не мной и в нём отсутствует работа с сервером
66 1513586
>>13214
Ну епта, я ведь тебе уже писал решение:
>>1512120
x0, xn, xi = -20, 20, 3 # числа в 10 раз больше, чтобы юзать стандартный range
Замени их на нужные или вынеси переменными над генератором списка.
67 1513587
>>13237
Ему дали start, stop, step для range константами, а ему нудно переменными, а человек даже не понимает, как это изменить в коде.
68 1513589
>>13358
Это сейчас была отсылка к экстримному кодингу?
69 1513591
>>13409
Ну вообще модно сделать класс недоступным для экспорта через __init__.py файлик. Твой проблема явно высосана из пальца.
70 1513592
>>13409
Ну вообще модно сделать класс недоступным для экспорта через __init__.py файлик. Твоя проблема явно высосана из пальца.
71 1513595
>>13519
Асинк, забудь вообще про треды, если если только их не юзают либо, это уже пережиток прошлого.
72 1513596
>>13595
*либы
73 1513597
>>13563
Это называется интерпретатор, а не компилятор, есть принципиальное отличие между ними.
74 1513604
>>13595
Треды — пережиток прошлого? А почему?
75 1513616
>>13595
Хорошо. А как логически реализовать это через асинк? Просто я 5iq мусор и никогда до этого ботов не писал
76 1513628
>>13573
ГВИДО
77 1513631
>>13604
Потому что немодно.
78 1513633
>>13631
А если без шуток? Есть ли разница между асинком и тхреадами в производительности?
79 1513645
всем hi. Собственно проблема: Нужно разобраться с базами данных в питоне. Думаю что sqlite подходит, так как приложение будет локальным, но не знаю с чего начать.
Я в бд 0, поэтмоу прошу совета у знающих: Что читать и кого смотреть?
ТЗ в двух словах: Расчитывать топливо для автобусов. БД нужна для того чтобы вести учёт заправок
80 1513650
>>13645
Почитай сначала основы sql, всякие create table / select / insert / update / delete. Затем поищи туториал по sqlite а Python с примерами. Этого хватит.
81 1513661
>>13645

>sqlite


Почему ты выбрал sql db когда есть NoSql db?
82 1513663
>>13661

> NoSQL


Да это ж для тех, кто ниасилил нормальные формы!
83 1513664
>>13663

>ниасилил


Ага так вот она причина по которой google свой FireBase запилили!
84 1513669
>>13661
Я ничего не выбирал, почитал что sqlite сразу импортирован в питон, подумал что с ним проще. Я открыт для всего что связано с бд, только скажите что мне делать ибо в видосах нихуя не понимаю потому-что они ничё не разжевывают, да и нормальных не нашел пока что
86 1513682
>>13674
И теперь вместо простенького файлика скулайта он будет ебаться с сервером монго, отлично ты посоветовал. Дома дырки в стенах тоже кувалдой сверлишь?
87 1513739
Блять че за конченные. Я уже запутался какие функции и методы в этой асинкио параше щас используются. Читаю статейку/смотрю видео по асинку - используется одно, читаю доку - сори это уже deprecated, надо по-другому. И так уже дохера раз. Можно уже как-то определиться со своей хуйней и не ебать мозг вкатывальщику лишний раз.
88 1513749
>>13739
Иди в голанг.
image.png4 Кб, 356x127
89 1513751
>>12752 (OP)
Аноны, можете пояснить.
Почему тут сначала выполняется верхний и нижний блоки, а после уже выводятся все простые(True) числа через print, который вообще посередине стоит?

По идее же должен идти по порядку кода, т.е сначала выводить всё, а потом уже фильтровать
90 1513765
>>13751
Оно и выводит по порядку. Вложенный цикл никак не затрагивает то, что уже выведено, так как не затрагивает элементы с индексом меньше квадрата i. При этом на каждом этапе внешнего цикла число выводится только если оно не делится на все числа от 2 до i-1, а значит простое.
91 1513769
>>13583
Ну ответьте, чё вы как эти-то?
92 1513783
>>13769
Наркоман? Мы шестой тред разбираемся, как функция print работает, какие консоли, о чем ты вообще.
93 1513793
Боже, как же f("{}") охуенна.
94 1513799
>>13769
Да тут все в лучшем случае ткинтер или PyQt юзают, про гтк даже не знают.
95 1513803
>>13765

>При этом на каждом этапе внешнего цикла число выводится только если оно не делится на все числа от 2 до i-1, а значит простое.



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

Но почему сначала выполняется вложенный цикл, а после выводится print?
Если бы сначала выводило принт, а после выполнялся цикл, то тогда бы выводило все числа(т.к. все True)
96 1513804
>>13803

>Но почему сначала выполняется вложенный цикл, а после выводится print?


Ps. когда принт стоит на строку выше
97 1513813
>>13633
Это зависит от задачи и интерпретатора питона, которым ты пользуешься.

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

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

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

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

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

Если тебе хочется именно потоков, то смотри Stackless или что-нибудь в этом роде. Я в питоне потоками не пользовался, не могу ничего сказать.
400px-NewAnimationSieveofEratosthenes.gif50 Кб, 400x321
98 1513840
>>13803
У тебя проблема с самим алгоритмом? Вот смотри на гифку, обводится число i, потом это число выводится справа(у тебя подаётся в print), а затем уже все i*n, (n>=i) числа вычеркиваются
image.png190 Кб, 500x427
99 1513846
>>13813

>Если в CPython на большом количестве задач, то asyncio будет быстрее.


Запихиваешь такой cpu bound задачу в корутину и думаешь, хули у тебя все висит
100 1513852
>>13840
А, кажется допер. Получается, за первую итерацию "вычеркиваются" все числа, что не простые
изображение.png126 Кб, 1103x693
101 1513889
>>13799
А у вас там с css никто не работает?
В gtk у всех экранов может быть свой «провайдер css». И в этих провайдерах может быть что-то типа

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

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

>>13783
Могу сказать, что работает в точности, как в баше.
102 1513892
>>13563
Сделай отступ 4 пробела
Ты меня троллируешь, я тебя раскусил
103 1513897
>>13803
Ты точно понимаешь, как работает цикл? Вложенный цикл выполняется не один раз. А каждый раз при выполнении внешнего цикла. Сначала выводится индекс второй ячейки и вычёркиваются все чётные числа, начиная с четырёх. Потом выводится число три и вычёркиваются все делящиеся на три, начиная с девяти. И так далее.
>>13852
Не все, а только те, которые кратны i. И когда наименьшее из чисел, кратных i, простое — там будет True и оно будет выведено.
Тебе бы почитать про инварианты и доказательство правильности программ. Оно тут как раз просвечивает. Так сказать, взаимосвязь между программированием и математикой.
А вот ещё интересно, есть ли под петон нормальные отладчики. Я-то просто в текстовом редакторе пишу, там даже автодополнения нет. И если есть, то просто понажимай step into и посмотри watches.
da36919b7a34d26b.png8 Кб, 326x211
104 1513911
https://ideone.com/7AX3xZ
Подскажите, анончики, правильно ли я понял задание?
105 1513936
>>13911
Нет. Уже в самой второй строке ошибка

> дано действительное число x != 0


> x= int(input("Введите x"))



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

Короче переписывай.
106 1513940
>>13936
А если не равно нулю, то нельзя ввод делать? Или как?
107 1513941
>>13940
int - это целое число, а не действительное. Тебе надо делать float.

Цикл неправильный у тебя. Почему-то ты вычитаешь 2, а не делишь на 2, как надо. Почему-то ты не используешь i при вычислении суммы, а ведь должен.
108 1513942
>>13911
дебил из яндекс.лицея?
109 1513946
>>13940
https://ideone.com/1NsZKJ
слёту так, если не налажал.
110 1513947
>>13941

>int - это целое число, а не действительное. Тебе надо делать float.


>


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


>


в числителе всегда целое число
по этому используюется Int
что б не было лишних нулей после точек
111 1513955
>>13941

>int - это целое число, а не действительное. Тебе надо делать float.


float даже не все рациональные числа представить может, не то что действительные
112 1513957
>>13897
Спасибо, я понял. Туплю.
С матаном неоч тоже, не знаю где и поднатаскать, но не знаю, где.
В частности, теорвер или дискретку какую-нибудь
неоч хочется залезать в геометрию и всякие школьные херульки

> инварианты и доказательство правильности программ


Гляну
113 1513959
>>13957

>инварианты и доказательство правильности программ


Не слушай, это шизоид баззвордов нахватался.
114 1513988
Правильно ли я понимаю, что len() считает кол-во байтов в строке, и поэтому может ошибиться в подсчете "символов". Есть же, наверно, символы, которые больше байта, допустим, занимают
115 1513995
>>13988
Нет, подсчитываются юникодные символы.
116 1514001
>>13995
Понял, спасибо
117 1514012
Полный нуб итт. Почему не работает вот такое дерьмо? Я ввожу 1, и срабатывает else
https://pastebin.com/ad1AiDq7
118 1514014
>>14012
Ты сравниваешь функцию input с единицей. Конечно, это False. Перепиши так:

a = int(input('> '))
if a == 1:
...
119 1514016
>>14014
Кстати, питонщики, где ваша хвалёная строгая типизация?
120 1514019
>>14014
Спасибо, работает
121 1514023
>>14016
Упорол наркоты?
122 1514024
>>14001
В стандартных типах len ничего не считает,
123 1514032
>>14023
Не больше тех, кто придумывал поведение ==:

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

И хоть одно сравнение бы кинуло TypeError. Хуй, молча False. Как в джаваскрипте каком-то.
123 1514032
>>14023
Не больше тех, кто придумывал поведение ==:

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

И хоть одно сравнение бы кинуло TypeError. Хуй, молча False. Как в джаваскрипте каком-то.
124 1514034
>>14032
А где-то шла речь про хвалёную строгую типизацию? Ты в питоне можешь умножить строку на число, алло, мань
125 1514042
>>14034
Да, шла. Якобы Python > JS, потому что в нём не выполняется "1" + 1 = 11.
Умножение хотя бы не преобразует строку в число втихую. И на том спасибо.
image.png56 Кб, 337x413
126 1514049
Так аноны нужно на джанге реализовать вот такой опросник, как это лучше сделать? Еще нужно чтобы человек мог голосовать только 1 раз.

А да и можете объяснить как мне реализовать эти полоски, чтобы они динамически заполнялись, я так понимаю нужен жс, но не знаю в какую сторону дальше копать.
127 1514052
>>14049
Про джангу не подскажу, но полоски можно сделать через указывание ширины div. По мере заполнения подсчитываешь ширину заполненной и незаполненной части и добавляешь два дива с соответствующими ширинами.
изображение.png226 Кб, 1914x853
128 1514083
что со мной не так?
129 1514096
>>14083

>что со мной не так


Самому не очевидно?

> "питонист"


> Windows

130 1514098
>>14096
опустим эту тему
131 1514110
>>14042
Зачем вообще сравнивать эти языки, если они под разные задачи. Это ведь из разряда РЯЯЯЯ МАЯ ИГРУШКА ЛУЧШЕЕЕ А ВАША ГАВНОО
132 1514113
>>14098
может тебя опустим епта?
133 1514119
>>14113
мать твою опустим)))))
134 1514123
>>14110
Вот бы ещё все понимали это. А то синдром утёнка слишком силён.
135 1514135
>>14123
Не знал, что для этой модели поведения есть название. Теперь знаю больше, спосиба
137 1514366
>>14042
>>14042
Ну да, питоновская сильная типизация мне, например, больше нравится, чем то, что в js. Я несколько раз там проебывался так, как в питоне проебаться невозможно. Но в выборе языка строгость типизации это не особо важный момент, иначе я бы сейчас так и учил дальше питон, а не js.
138 1514440
Ребят, всем привет, такой вопрос:
В общем, есть функция, в которой выдается рандомный возраст (ну то есть случайное число от 18 до 30) и на этот возраст нужно ввести инпут, на который тоже придется два условия (ну то есть будет выбор и потом комментарии выбора верный он или нет)
Собственно суть вопроса в том, что количество случайных возрастов тоже случайно. Есть ли способ вызывать эту функцию N раз одну за одной?
139 1514449
>>14440
Например вызывать ее N раз в цикле, где окончание цикла = твоему N(если начать с 0)?
140 1514452
>>14449
N - рандомное число, которое меня мало интересует. Главное, чтоб он вызвал ее эти N раз.
Объясню, что вообще придумал.
Это текстовая игра, где баба выбирает себе мужиков. Приходят к ней мужики от 10 до 80 лет. Она принимает только от 18 до 30 лет. И N - это то, сколько мужиков придёт.
Ну и в случае неверного выбора мужика - break.
141 1514482
>>14452
Лучше не описывать геймдизайнерские идеи в точности потому что их тогда легко умыкнуть.
142 1514487
>>14482
Охуеть верх геймдизайнерской мысли, всё, пошёл основывать Python Entertainment ©®™, будем пилить десятистрочные игры на питоне и пилить миллиарды, идеи будем брать с двача
143 1514488
>>14482
Хочешь сказать я проебал свои 300к/наносек?
144 1514500
>>14488
Всё, что попало на двач, обратно не раздвачить.
145 1514501
>>14500
А если так?
import dvach

dvach.razdvachit(idea)
146 1514509
>>14501
module 'dvach' has no attribute 'razdvachit'
147 1514544
>>14488
Но ведь ты же не собираешься делать визуальную новеллу. Так что нет.
148 1514545
Анончик-питончик. Подскажи, какая самая лучшая IDE (субъективно, само-собой) для пайтона.
Я хеллоуворлдщик-фибоначчист.
Пробовал АЙДЛ, сейчас пердолюсь в ВИЖУАЛ СТУИДО.
149 1514559
>>14545
Sublime text?
150 1514566
>>14545
Pycharm.

> idle


Ебать ты упоротый.
151 1514574
>>14452
Мне похуй на твою дальнейшую логику, вот я тебе привел пример программы, которая генерит Н раз число.
152 1514584
Я задаю Z=numpy.random.normal()
Затем при прогоне диапазонов
for i in range(M):
S[i + 1] =S+ S np.random.normal()

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

Выдают сильно разные результаты усредненно за много прогонов. Приравнивание Z=numpy.random.normal() меняет как-то вывод numpy.random.normal()?
Надеюсь понятно. Весь код громоздкий.
153 1514587
>>14574
Спасибо, друг!
154 1514589
>>14587
Не друг ты мне
155 1514590
>>14566
А зачем pycharm хелоувордчику? Sublime все же куда легче будет. Ничего лишнего.
156 1514591
>>14589
Пока
157 1514596
>>14566

>юзать ide для лаб

158 1514608
>>14545
V I M
I
M
159 1514641
>>14608
Охуенная иде, плюсую.
160 1514645
>>14641
Слышу нотки сарказма в твоем сообщении, но таки да, после легкой обработки напильником вим становится иде.
161 1514697
>>14545
VS Code
maxresdefault.jpg148 Кб, 1280x720
162 1514698
Есть на примете читшит по flask/django типо как организовывать структуру проекта, типо диаграммы связей?
163 1514699
>>14698
Ты про базу или про файлы/папки?
164 1514712
>>14699
Скорее про файлы/директории, читал где-то шо под каждый проект индивидуальный подход, но схемы полюбому где-то можно посмотреть, как это делают люди с опытом
Снимок экрана от 2019-11-06 18-26-41.png82 Кб, 1106x617
165 1514722
Аноны спасите, вот модель моя в джанге, она сделана для опросника в котором участвует модель employee, нужно сделать чтобы голосовать сотрудник мог только 1 раз как это сделать?
166 1514750
>>12752 (OP)
Сап
хочу переименовать картинки в папке сохраняя тот же порядок (т.е первая картинка будет картинка1, вторая картинка2 и тд)
нашел os.rename, но он переименовывает в хз каком порядке
то есть не по алфавиту, а видимо рандом, например начинает с середины папки
как можно переименовать картинки не меняя их порядок?
167 1514816
>>14722
Ну логично что тебе нужна промежуточная таблица в которой будут храниться пары: сотрудник-вопрос. Если запись есть - запрещаешь голосовать. Изи.
168 1514821
>>14750
Порядок действий.
1 Определиться в каком порядке тебе нужны файлы: не бывает "того же" порядка. Есть сортировка по имени, размеру, дате создания, дате изменения.
2 Получить список файлов.
3 Получить ключ для сортировки (на основе выбора из п.1)
4 Сортировать по использованному ключу.
5 Переименовывать файлы.
169 1514942
>>14816
Можешь на примере показать как должна модель выглядеть для такой таблицы и как мне записывать туда данные? Типо после того как пользователь кликнет на ответ и проголосует, тогда добавится запись?
170 1514948
Посоветуйте годных курсов на Coursera по сабжу. Желательно из числа тех, которые вы сами прошли и твёрдо можете рекомендовать.
171 1514950
Скиньте добротную книгу по tkinter для python 3. Ничего найти дельного не могу
172 1514960
>>14950
А зачем книга то. Ставишь себе задачу - гуглишь свойства элементов - ???? - вы восхитительны.
173 1514962
Ну и как на этом писать? Обмазался ml, скачал проект на c# все понятно, с интерфейсом, чтобы обучить написано скачать скрипт на питоне, ну и хули тут блядь 100 каких-то файлов какие-то папки, баши, никаких интерфейсов какие-то ебанутые инструкции как запускать на 20 страниц, где блядь приделать формочку чтобы подцепить данные было бы быстрее.
174 1514965
>>14962
Консоль быстрее, подрастешь поймешь
175 1514968
>>14962
А ты как думал? В питоне всё серьёзно.
176 1515036
Есть вариант распараллелить выполнение кода в 2 строчки? Или вообще на видюху повесить? Обычный цикл for i in range уже час считается в нем конечно еще несколько таких циклов, но ничего сложного.
Видос из шапки не особо полезен, т.к. я нуб.
177 1515045
>>14960
Дааа, так уже и начал делать. Затем, когда накатал програмку (только что, после создания поста начал писать), встал неочевидный вопрос:
Аноны, а какого черта после компиляции с ткинтером, я запускаю программку свою (выдает почему-то консоль сначала), и прежде, чем выдать интерфейс основной, он думает секунды 3? Мне это вообще не нравится. Не понимаю, почему так медленно. Там кода всего на 40 строк примерно.
178 1515064
>>15045

> выдает почему-то консоль сначала


Если pyinstaller, то собирай с флагом -windowed, или как там его

> и прежде, чем выдать интерфейс основной, он думает секунды 3?


> Short answer, a complete environment for your program needs to be extracted and written to a temporary folder.

179 1515065
>>15064

>Short answer, a complete environment for your program needs to be extracted and written to a temporary folder.


Это как?
181 1515093
>>15036
Если код короткий, попробуй PyPy использовать, он в чисто питоновский код в циклах может в десятки раз иногда разогнать.

Надо смотреть на твой код. Наверняка можно оптимизировать.
182 1515094
>>15067
Ниче не понял пока что из этих доков, рубит меня, потому и спросил. Завтра еще гляну их
183 1515100
>>14821
cпс, звучит трудненько)
я написал к тому, что os.rename переименовывает не по алфовитному порядку
решение я придумал проще - написал регулярку
184 1515103
Всем кулити, есть ли в pycharm возможность отладки по останове как в Visual studio? единственное, что смущает перехода
185 1515110
>>15093
Оу, это по сути новый питон ставить надо. Пока не подойдет, но возьму на заметку.
186 1515113
>>15036
numba ставь https://weeraman.com/put-that-gpu-to-good-use-with-python-e5a437168c01 , оно и видюху может, и так на процессоре вывести типы и скомпильнуть твой говнокод в быструю какашечку
187 1515115
>>15113
Придется за ней всю анаконду тащить. Как она в плане опенсорсных дров для видюхи на линуксе?
188 1515117
>>15115
Не думаю что cuda может работать на попенсорце, но numba и cpu поддерживает. И, в плане cpu, pip install numba сработает. Насчет cuda не пробовал
189 1515121
>>15036
Код показывай, если у тебя число-дробилка то можно улучшать код и улучшать.
У того же scipy есть куча методов и параметров.
Кроме того что предложили аноны, можно попробовать ещё и на сишном пистоне написать часть логики.
190 1515150
>>12752 (OP)
Аноны, знает кто что про Практикум от яндекса? Это такая же платная шляпа как и курсы от гикбраинс и скиллбокс?
191 1515153
>>15150
Посмотрел уже. Есть два бесплатных вводных курса по пистону, может кому интересно будет.
192 1515200
Сап,петоначь
Где можно найти человека сделать простую работу?

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

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

Может кто тут сделает?Кину немного беткойнов
193 1515367
какие модули надо учить для создания спам ботов по форумам,сайтам??
194 1515371
Не знаю куда писать, попробую тут.
Есть серв с зоопарком скриптов на питоне. Они рождаются, плодятся, умирают. Живут своей жизнью, короче.
Нужен кто-то типа супервайзера, который по REST апи будет возвращать список живых процессов, порождать и убивать процессы.
Какой-нибудь фреймфорк или готовый сервис.
вфывфывфывфывфывфыв.png16 Кб, 1359x641
195 1515379
Пс, а на питоне есть что-нибудь для рисования?
Нужно сделать координатную сетку для листа А4, с двумя осями, а на ней, с отсчетом от центра поставить заданные точки и сохранть это все дело в формате жпг или пнг, чтобы потом распечатать
Ну грубо говоря график нарисовать
196 1515381
>>15150
нудновато
197 1515382
>>15379
ткинтер
198 1515383
>>15379
чего именно просто рисовать или игры делать?
199 1515385
>>14545
пачарм топ на сам мало что запомнишь, юзай атом...но там input() чет не работает по дефолту
200 1515409
>>15367
Selenium/requests/bs4/captcha services
201 1515410
>>15371
Кто плодит эти скрипты? Я бы подключался к этой хуйне и вытгивал данные оттуда.
Для рест апи подойдёт любой пистоновский небольшой фреймворк типа flask/bottle/pyramid
202 1515412
>>15379
Для графиков матплотлиб, он и рисует и сохраняет ну и распечатать смогёт
203 1515429
аноны. нужна аша помощь. щас прохожу курс по питону и там такая задача.
Жуки не любят находиться рядом друг с другом и каждый прячется под отдельным камнем и старается выбирать камни, максимально удаленные от соседей. Так же жуки любят находится максимально далеко от края. Как только жук сел за камень, он более не перемещается. Всего в линии лежат X камней. И туда последовательно бежит прятаться Y жуков. Найти сколько свободных камней будет слева и справа от последнего жука.
X может быть до 4 млрд.
Примеры

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

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

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

сразу говорю - в гугле какая то хуета подзалупная. в каком направлении копать то ?
204 1515636
>>15383
>>15412
Просто рисовать
Спасибо, аниксоры, почекаю матешу
205 1515685
Ахуенно устроился на работку, со вторника работаю, вроде нормально было, только меня сразу посадили за проект и дали боевую задачу, которую я всю неделю делаю и не знаю когда доделаю, вот сегодня сказали, что 2 программиста, наш сеньор и миддл увольняются, в итоге в конторе останусь я и еще один миддл, у меня спросили 'тебя такие перспективы не пугают?' я подумал про себя КОНЕЧНО БЛЯТЬ ПУГАЮТ, сказал что да немного, но это полный пиздец сказали что теперь я должен там поддерживать проект, но я в душе не ебу че там и как делать, мне конечно будут из головного офиса который в дс помогать сам я из региона но я видел этот проект он пиздец огромный и я даже 20% не понимаю че там происходит вообще, хотя сказали мне что если у меня получиться влиться то 'будет очень быстрый карьерный рост', но уверен что обосрусь, видимо вылечу оттуда уже на след неделе, надеюсь хоть за эти дни какие-нибудь копейки заплатят, пиздос.
ima.jpg12 Кб, 225x225
206 1515726
В прошлом тредике порекомендовали pythontutor для начала.
Прорешал оттуда задачки, что дальше?
207 1515752
>>15412
Посмотрел матлиб, он сложный пиздец, есть что-нибудь попроще?
Я не погромист, питон использую чисто автоматизировать некоторую хуйню по учебе
208 1515756
>>15752
Он не сложный, просто начни с простого, тебе этого и хватит в принципе.
Нарисовать то что у тебя можно в строк 10 кода, где 2 строки на импорт и 2 на финальное отображение.
209 1515761
>>15752
Он несложный, просто мощный. Если тебе нужны простые вещи, они делаются просто. Для начала запоминаешь две команды: from matplolib import pyplot as plt и plt.plot(x, y)
Проще только матлаб из которого этот pyplot слизан
210 1515781
>>15756
А можно наводки хоть какие-набудь?
Типо ок, везде написано, что все просто, но все туторы которые я нахожу они про обычные графики функций, а по запросу в гугл "crosshair" экей перекрестие выдает хуйню, где куча строк кода
211 1515790
>>15781
Если ты в интерпретаторе, делаешь plt.ion(), чтобы графики показывались моментально
В скрипте не делаешь plt.ion(), а вместо этого когда закончишь делаешь plt.show()

from matplotlib import pyplot as plt
plt.plot([1,2,3],[4,5,6],'+')#красный крестик будет r+
# или plt.scatter([1,2,3],[4,5,6]), вообще это называется scatter plot по-английски
plt.show()
plt.savefig('yoba.png')
image.png28 Кб, 650x558
212 1515808
>>15781
Ну допустим так.
Это всё можно допилить до адекватного состония.
Capture.PNG66 Кб, 880x262
214 1515900
аноны, поясните что это такое? гуглил и в англ нете и в нашем ничего не понял кроме того что это популярный шифр среди школоты и дотеров.
215 1515905
>>15900
Всё спасибо, не нужно. понял что это такое.
216 1515907
>>15900
популярное коверканье слов кулхацкеров, родом минимум из 90х, частично используется например в мессенджерах
a.png5 Кб, 160x164
217 1515913
218 1515915
>>15913
>>15907
да читал я. даже охуел когда эти статьи читал и немог поверить что авторы учебника такую хуету могли в задание засунуть.
219 1515920
>>14083
Это все ебаные пути виндовские, где один обратный слеш экранирует другой, ты попробуй выпринтить свой путь. Юзай либо нормальный юниксовый прямой слэш, либо делай строку сырой- r”raw_str”, либо os.path.join(“C:”, ”ebal”, “ya”, “vashego”, “abu”, “v”, “rot”)
220 1515925
>>14821
Вот ты и спалился разбiник, дата создания есть только в винде, в юникс подобных, только дата изменения.
221 1515926
>>15913
>>15907
поясните, ещё, пожалуйста. а что там в задании требуют? что за словарь? никакого словаря у меня там не было, они имеют в виду {} вот этот словарь чтоли? и что он возвращать должен? любое слово? или по буквам конвертировать. нихуя блдяь не понимаю, нужно же блядь этот быдлошифр туда впиздошить было.
222 1515932
>>15100
А в чем собственно проблема отсортировать список с именами файлов, которые получены через os.listdir(path), если тебе нужна сортировка именно по именам?
223 1515933
>>14960
Ставишь себе задачу. Находишь решение на стековерфлоу. Копипастишь код. Ты восхитителен.
224 1515934
>>14960
это пиздец будет долго и заёбно, с книгой проще ибо там сперва дают все свойства потому же задания по теме. очевидно что процесс обучения ускоряется с книгой в разы
225 1515942
>>15926
А что в первых двух пунктах? Или вообще до них?
226 1515956
>>15685
Была похожая хуйня
Недели 2 ходил и думал о том, чтобы написать заявление раньше, чем меня пнут лол

Теперь уже 1.5 года на поддержки этого говна.
Начинает даже нравится
Untitled.png28 Кб, 1040x295
227 1515962
>>15942
задачи такие же. там ничего интересного. книга какая-то странанная уж не первые раз такие задания попадаются непонятные то они всунут задания из раздела который впереди и который я ещё не проходил
228 1515973
>>15932
еще была проблема в том, что при переименовании через os.rename часть файлов загадочным образом исчезает

в общем знатно я поебался с этой казалось бы простой хуйней
229 1515974
>>15973
Как справился с этой бедой?
230 1515976
>>15962
Ну тогда просто скипай. В книгах бывают неточности, но если их многовато, то лучше уж взять другую.
231 1515977
>>15976
ну я просто взял за словарь что-то похожее на него из другой главны и буду программу писать щас. ну это лучше чем в прошлый раз когда они затолкали в один раздел задачи из другого который впереди я всё это гуглил вручную охуевая
232 1515980
>>15976
меня просто возмущает тот факт что теперь нужно разбираться как это говношифор устроен. ELITE блядь, так и повеяло 15 летними выблядками-хакирами из онлайн игр.
233 1515981
>>15980
Изначально-то это было частью хакерской культуры, это уж потом школота всё опошлила.

Можно взять задачу поинтереснее, например, шифр Цезаря. Пользы будет больше.
234 1515986
>>15981
поздно. я уже половину этого вырвиглазного альфабета в словарь перетащил.
235 1516000
>>15973
пытался выводить названия файлов, понять почему и куда они пропадают, потом махнул рукой и переписал на перле.
236 1516001
237 1516004
норм. написал таки этот переводчик с языка школьника.
Capture.PNG13 Кб, 662x300
238 1516009
аноны, оцените говнокод. можно ли что-то здесь оптимизировать и покороче написать.

>>15900 вот это задание сделал.
image.png5 Кб, 704x46
239 1516015
>>16009

>можно ли что-то здесь оптимизировать и покороче написать


Можно.
image.png8 Кб, 489x65
240 1516022
241 1516031
>>15956
Ну ты наверно еще что-то умел, а у меня большие проблемы даже закрыть вроде простой таск, а теперь весь проект вешают на меня.
242 1516032
>>16009
Нахуя тебе короче? Сейчас это прекрасно читаемый код с понятнейшей логикой.

А вот эти примеры (>>16022) (>>16015) - уебанство.
243 1516034
>>16032
использовать вложенные циклы с посимвольным сравнением

>прекрасно читаемый код с понятнейшей логикой



использовать функционал стандартной библиотеки на полную

>уебанство


/_0
244 1516046
>>16034
Ну давай через аналогии, раз ты сам не чувствуешь - если твой код походит на перлохудожества, то он плохо читается.

Можешь ещё попытаться словами объяснить что на каждой из картинок происходит. А потом подумать почему те две картинки вообще нужно кому-то объяснять.
245 1516052
>>16034
if ... new_line += t[letter] заменить на t.get(letter, letter), так будет в 2 раза меньше поиска в словаре.
Внутренний цикл можно заменить на списочное выражение без ущерба читаемости.
readlines не требует '\n' . Получится

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

Как-то так
246 1516059
А, не увидил, что у тебя else нет почему-то. Тогда t.get(letter, '')
247 1516088
Не хочу писать в МВП, поэтому здесь спрошу. Если меня позвали на тестовый рабочий день, это значит, я там полный день сидеть буду или нет? Знаю, что был как минимум один анон, который через это проходил. Тапки не кидайте, ранее нигде не работал, потому и спрашиваю.
248 1516104
>>16088
Вопрос снят
249 1516107
>>16032
Это сарказм?
250 1516108
>>14052
Спасибо за ответ, с версткой я полностью разобрался, но вот как простроить модели, чтобы голосовать юзер мог только один раз я никак не могу, вот бы мне кто-нибудь разжевал это.
251 1516116
>>16009
1) когда ты открываешь файл на чтение с with и получаешь указатель, тебе не нужно делать readline, итерация по файлу и так даёт строки.
2) Чтобы получить список в строке ты можешь примереть лист на строчку, при этом применив к ней strip перед этим, чтобы обрамить строку с двух сторон, убрав всякое говно типа переноса строк.
3) нет смысла делать проверку на вхождение в твоём случаем, достаточно сделать get с дефолтным ‘’.
252 1516118
>>16032
Тоже не вполне понимаю целесообразность, снижать количество строк любой ценой очевидно неверный путь. Да ты сэкономил пару строчек, но получилось какое-то забодробительно ненаглядное предложение, и пока оно одно другое ещё ничего, а если их сотни то всё туши свет, код будет напоминать талмуд.
253 1516134
>>16108
Или кинули бы туториал где делают это, был бы очень признателен.
2e1lxv.jpg25 Кб, 645x729
254 1516136
хачу многа атак и дефенс
255 1516139
>>16136
ой не туда серанул)
256 1516159
>>15685
ну хоть работаешь, анон. я за 4 месяца поиска работки так ниче и не нашел кроме 5 тестовых. в результате чего теперь вообще ссусь слать свое резюме тк думаю что отправят тестовое на которое я проебу дохуя времени а мне ответят извините тестовое выполнено конечно хорошо но на недостаточном уровне. такие дела. да и вообще думаю яп менять тк в моем зажопье нет вакансий на джунов-питонщиков. везде мидлы и сеньоры только со знанием 2.7 обязательно
257 1516242
>>16032
спасибо, анон, но я вообще-то имел ввиду как избавиться от for in for то есть цикла в цикле, т.к. я знаю что это плохо, но ничего иного придумать не могу, поэтому и решил посмотреть на решения других анонов.

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

>>16015
>>16022
спасибо, а куда вы словарь дели с алфитом как у меня?
image.png19 Кб, 1226x118
258 1516260
>>16242

>куда вы словарь дели


он выше
259 1516261
>>16260
понял, спасибо. а y это что такое?
260 1516267
>>16260
Это ты тот пидорас, что шифрует сообщения для слепого анона из Б?
261 1516312
>>16267
не понял тебя
262 1516343
>>15726
Пока нашёл курс про питон более обстоятельный у линуксоидов, а так же гайды по работе с гуями и объектно ориентированное программирование.
Планирую пока написать пару калькуляторов статов для игр и ещё что-нибудь не большое. В принципе бота написать было бы неплохо тоже, полезная штука.
Всё правильно делаю?
263 1516350
>>16343
Теперь попробуй не спрашивать у нас: "А как какать?", и попробуй сам учиться.
264 1516358
>>16350
Какие-то вы бесполезные...
265 1516363
Может кто пояснить за удаленку в которой не требуют опыт? Вот вижу кучу вакансий верстальщиков пхп и питон джунов на удаленку с хорошей зп, ни образования, ни опыта не надо, я вот думаю попробовать, но выглядит это все как чистой воды наеб, возьмут они меня такого новичка, дадут таск я его закрою, мне скажут молодец иди нахуй и все.
266 1516387
>>13959
А ты читал? Нет? Ну помолчи тогда.
image.png292 Кб, 558x547
267 1516394
>>16363

>нет опыта


>закрою таск


>скажут молодец

268 1516395
>>14083
Иногда помогает ставить r перед кавычками. Но не в случае завершающего обратного слеша.
269 1516399
>>16363
В целом примерно так и есть, причём далеко не только в программировании. Ищут лоха он делает работу, потом его посылают.
270 1516416
Есть бинарный файл, нужно преобразовать его в С-подобный массив вида 0x01,0x42 и т. д. и записать в другой файл
271 1516428
>>16416
Заебись, чо.
272 1516439
>>16416
with open("file.bin", mode="rb") as fin:
__bs = fin.read() # массив с байтами
with open("file2.bin", mode="wb") as fout:
__fout.write(bs)
273 1516455
>>16394

>верстальщик

274 1516456
>>16399
Ну и че прям все эти вакансии наебка на лоха?
275 1516460
>>16394
Так а нахуй тогда эти вакансии висят, если джун без опыта все равно ни на что не способен?
image.png160 Кб, 415x500
276 1516463
>>16456
Давайте же и мы вместо кодинга будем заставлять лохов бесплатно работать.
277 1516481
>>16032
Как же си-бляди заебали, когда же вы поймёте, что пайтоник стайл - коротко и просто, если ты не понимаешь и не можешь прочитать то, на что сослался, то пиздуй уже в свой си или яву, где нужно зерова туча строк для простейших операций вроде составления списка строк из файла.
278 1516482
>>16242
single_line = “”.join([your_dict.get(ch, ch) for ch in list(inp_line.strip()])

В твое случае вторым аргументом должна быть пуста строка, но это очевидно ошибка, поскольку это уничтожит все пробелы.
279 1516485
>>16481
Чувак, да будет тебе известно, даже использование map уже не Pythonic-way, ты Zen of Python вообще видел?

Вариант с maketrans нормальный, его бы ещё немного доработать и хорошо будет. Хотя использование readlines в этом случае уже многое о вашем уровне
280 1516486
>>16481
Безотносительно примеров выше. Питон хорош тем, что читается почти как текст на английском, а всякие скрипт киддисы пишут в стиле "мам смотри, я умею в генераторы" и запихивают все в одну строку просто потому что могут. Питон не про производительность, здесь можно делать упор на читабельность.
МакКонел как раз про это писал, что можно программировать на языке, а можно с использованием языка, и второе лучше. Ньюфаги возводят удобные фишки питона в абсолют.
281 1516489
Пиздец, питон мешает питонщикам превратить себя в перл, но нет, надо продолжать упорствовать.
282 1516512
>>16481
Вот такие однострочники >>16015 это нихуя не просто. Если нужно выбирать между понятностью кода и маленьким объемом, то лучше выбрать многострочник, который сразу понятен.
Олсо, в каком-нибудь лиспе тоже можно писать все в одну строку, но никто так не делает, потому что читать такой код невозможно. То, что уменьшение количества строк дает какое-то преимущество -- это иллюзия. Если уж несколько строчек вместо одной тебе так мозолят глаза, сделай ебаный фолд.
283 1516595
>>15409
спс
284 1516674

>>> L = type('L',(list,),{'reverse': lambda self: super(list,self).reverse()[:2]})


>>> l = L((1,2,3,4))


>>> l.reverse()


Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
AttributeError: 'super' object has no attribute 'reverse'

WHY NOT?
285 1516685
>>16674
йа иблан сори
keks.PNG26 Кб, 737x753
286 1516692
287 1516819
>>12752 (OP)
Сап питонач, подумал я недавно, что было бы годно закинуть функцию print в другой поток, т.к. операции вывода на экран или записи на диск отнимают прилично ресурсов у ЦП
Вот у нас есть функция, которая постоянно проводит вычислительные операции, нагружающие ЦП и периодически должна выводить какую-то информацию в стандартный поток sys.stdout, либо во внешний файл. Зачем постоянно прерывать вычисления, чтоб функция print что-то вывела? Не легче ли заставить ее выполняться параллельно?

Но тут возникают проблемы. Все ж мы знаем что "параллельность" в Питоне не так уж проста из-за GIL. Я пробовал создавать еще один thread, который вытаскивает из очереди Queue данные, закинутые туда основной функцией и выводит их - производительность только упала. Из вариантов: запилить асинхронную функцию print на основе asyncio, но я не шарю в асинхронках. Второй вариант - запилить второй процесс с помощью multiprocessing, но это "дорогое" удовольствие и не хотелось бы скатываться до этого
288 1516849
>>16692

> +


> 2019

289 1516900
>>16819
Выбери другой язык программирования.
290 1516907
>>16900
Уверен, что засунуть print в асинхронку не так уж сложно (и кроме этого и охуительного совета про смену языка еще какие-то идеи есть?)
291 1516914
>>16907

>еще какие-то идеи


1. Не страдать хуйней (числодробилка на питоне, вообще охуеть).
2. Ну или поискать готовый асинхронный логгер, или написать свой.
136.jpg36 Кб, 425x600
292 1516935
Вкатываюсь в скрапинг

BeautifulSoup + lxml + Selenium+phantomjs

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

Заранее спасибо
1553143950249.jpg56 Кб, 1012x308
293 1516943
Может кто-нибудь объяснить почему в функции ничего не происходит и как вернуть в этом случае пустую строку?
https://pastebin.com/G9KT3rKx
294 1516954
>>16943
в функции ничего не происходит
потому что ты ее не вызываешь АЛО
изображение.png66 Кб, 945x578
296 1516957
image.png164 Кб, 1143x936
297 1516961
298 1516962
>>16943
А че эта хуйня вообще должна делать? У тебя просто набор абсолютно бессвязных строк
299 1516965
>>16481

>коротко и просто, если ты не понимаешь и не можешь прочитать то, на что сослался, то пиздуй


У кого-то логипа плывёт. Иди хоть PEP-сов почитай на досуге, там уже не первые десять лет как объяснили почему ты хуй сосёшь.
Проблема тех примеров не в сахаре для создания списка, а в том что он набор операций весьма нестадартный и хуй вдуплишь чего именно ты хотел добиться. Оригинальный же пост сразу даёт понять что к чему и, как можешь видеть, анон смог и обоснование дать что там менять чтобы было лучше.
Многовложенная эвалюация со скобочками в принте это вообще прекрасный случай нечитаемости - ты там сходу даже не скажешь к чему вообще '\n'.join() применяться будет. И приходится эту хуйню вычитывать и лишь потом догадываться нахуя ты это вообще сделал и почему именно так.
300 1516968
>>16819
Раз уж развлекаешься, то не проще ли службу отдельно запустить, которая будет тот же ip-трафик читать и в stdout выводить? И просто на неё закидывать нужные данные без всяких подтверждений.
301 1516969
>>16954
Лолбля, у меня даже уши покраснели.
>>16962
Возвращает список в котором содержатся только четные элементы из начального списка деленные на два.
302 1516971
>>16969

>Возвращает


Подумай еще раз
speedcoding.png16 Кб, 704x224
303 1516972
>>16481
ОБОССАН
304 1516974
>>16971
Ну изменяет список. Без вас аноны я бы навряд ли смог додумать сам, а сейчас допер, тонны нефти вам.
305 1517008
Объясните мне, как в питоне по нормальному копировать списки? Особенно списки списков. Я в ахуе. Кем надо быть, чтобы придумать .что просто копия, сделанная без дополнительных каких-то изощрений связана с оригиналом и изменение одного списка изменяет связанный с ним? НАХУЯ?
Вот у меня есть матрица. Мне надо последнюю строку вставить сверху, то есть сделать ее первой, первую изначальную первую, а не вставленную поставить последней строкой.
И то же самое со столбцами.
Делаю сначала строки, всякие инсерты и аппенды. Нормально. Потом столбцы. И тут начинается эта ебанина. В скопированной строке элемент добавляется дважды. Один раз в оригинале, и в торой раз в копии, которая за каким-то хуем последовала за оригиналом и уже заимела добавленный элемент.
И главное, где про питон не почитаешь- ах какой элегантный язык. Пиздец.
306 1517018
>>17008
Ты дурачок, ты не делаешь копии, ты в две переменные вкладываешь ссылку на один объект. Просто загугли "как скопировать список, питон". срезы изучи
307 1517021
>>17018
Я знаю что происходит. Я не понимаю нахуя это надо.

>в две переменные вкладываешь ссылку на один объект

308 1517023
>>17008
import copy
309 1517027
>>17021
Потому что это mutable объект ёпта
И ты копируешь ссылки на один и тот же объект, а не сами объекты
310 1517028
>>17027
Да я понял, что копируются ссылки. Я не понял, зачем это надо? Зачем мне два объекта, которые на самом деле один?
311 1517029
>>17021
>>17021
Чтобы ты мог спокойно перекмдывать ссылку на объект между кусками твоей программы, например подавать в функции
312 1517031
>>17028
Потому что все переменные в Питоне это на самом деле ссылки на объекты. В этом суть структуры языка и всё тут. Можешь обмазаться С - там вручную ссылки создаешь и имеешь доступ непосредственно к ячейкам памяти и их адресам
313 1517035
>>17027
Имутабельные так же работают вообще-то
314 1517040
>>17035
Нет не так же.
315 1517043
>>17040
[0 for i in range(500)]
Сколько создатся объектов?
316 1517048
>>17043
А хотя не, бля, оно же при каждом вычислении создаётся, другой пример:
a = 0
b = a
Сколько объектов
317 1517049
>>17043
Создастся 500 таких структур
typedef struct {
PyObject_VAR_HEAD
PyObject ob_item;
Py_ssize_t allocated;
} PyListObject;

ob_item каждой будет ссылаться на объект с одним и тем же id.
318 1517050
>>17048
1
а на второй пикче уже 2! нихуя себе, да?
319 1517053
>>17049
>>17050
Ну и ты точно так же копируешь ссылки на один объект, новый объект только при вычислении каком-то создаётся.
320 1517060
>>17053

>новый объект только при вычислении каком-то создаётся


Потому что это immutable object
321 1517065
>>17060
Ну да, но речь шла не про это
1505579576036.png1,2 Мб, 1200x1289
322 1517088
323 1517122
>>12752 (OP)
У меня есть несколько функций, как их запускать параллельно по секундомеру?.. Каждая из функций должна запуститься в параллельном thread или process через определенное кол-во секунд после старта Main thread, как это запилить?..
image.png52 Кб, 337x413
324 1517133
Пиздец взяли джуном, не могу закрыть это ебанный таск, уже 4 дня делаю на джанге этот опросник, нашел на гитхабе довольно похожее решение но там несколько редиректов, ты сначала голосуешь потом тебя кидает на страницу с голосами, а мне надо чтоб все на одной было, типо вот проголосовал, страница перезагрузилась, в бд добавилась запись что этот человек проголосовал, теперь голосовать не может и количество голосов увеличилось.
325 1517149
>>17122
Например, можно создать и запустить треды сразу после запуска скрипта, но в начале каждой функции написать time.sleep(определенное_колво_секунд)

from threading import Thread
from time import sleep

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

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

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

Имей в виду, что прироста скорости не будет из-за GIL. Единственная польза от тредов в питоне - например, отделить ввод-вывод от фоновых вычислений.
326 1517196
>>17149
Хм, ну да, так и выходит
Только можно ли сделать это в асинхронном виде типа >>16819?
327 1517205
>>17122
apscheduler
image.png2 Кб, 466x48
328 1517310
Есть способ заменить данные в списке при помощи словаря?
Пикрил что имею.
329 1517324
>>16935
Посмотри ещё эту либу
https://pypi.org/project/newspaper3k/
330 1517349
>>17310
Пусть твой словарь в d, а список в s. Тогда:
for i, value in enumerated(s):
__s = d[value]
a.png2 Кб, 311x83
331 1517350
>>17349
Абу, сука
332 1517356
>>17349
Спасибо.
333 1517396
>>17133
Тебе уже давали годный совет, с проверкой голосовал ли юзер или нет, в чём трабл?
334 1517404
>>17133
А в чем проблема? Ну сохраняй в куках статус проголосовавшего, или если есть регистрация, то список проголосовавших. Ну и рендери темплейт (хуй знает как это ваще в джанге выглядит) в зависимости от статуса
мимо хэллоу-вордщик
335 1517407
>>17404

> сохраняй в куках статус проголосовавшего


О, может, ещё и пароль проверять на стороне клиента?
336 1517410
>>17404
На фронте подобное не делается, максимум от фронта - асинхронный запрос на бэк с проверкой, всё.
>>17407
А если не подошёл то выдавать список схожих паролей и предлагать выбрать нужный.
Звучит как идея для стартапа
c385190.jpg31 Кб, 640x659
337 1517415
Анон, я понял, что у меня все ужасно в плане алгоритмов на фундаментальном уровне. Какие свойства есть у массива? Как его ворочать? Как работать с кортежами, списками, строками и т.д. Подскажите какую-нибудь годную книгу или видеолекции с пояснением темы, задачами и решением. В идеале - что-то по типу задач на https://codingbat.com/python, их там правда очень мало, и они без пояснения материала, синтаксиса, но решать из мне очень понравилось.
338 1517421
>>17410
Этот пароль уже используется пользователем username, придумайтедругой
339 1517432
>>17350
Что именно делают функции enumerate, enumerated?
340 1517482
>>17432
enumerate() бежит по коллекции, возвращая пары вида (порядковый номер, значение). Если бежит по списку, порядковый номер совпадает с индексом в списке. enumerated() в питоне нет.
341 1517489
>>17421
Топ
342 1517521
>>17415
Лекции хирьянова на ютубе. В комментах к роликам есть ссылка на практику, делай всё, контесты тоже
343 1517560
Аноны, нужно создать поле ввода в GUI на tkinter, но чтобы оно только принимало int значения (ну или чтобы в дальнейшем можно было изменить тип вводимого значения на int). Как такое можно устроить? Или может есть какие-нибудь аналоги без мозгоебли?
344 1517561
>>14608
Я не смогу из него выйти. Шутник ёбаный.
Я может хелловорлдщик, но не нуб ёба.
345 1517562
>>14559
>>14566
>>14697
>>15385
Спасибо, питаны.
346 1517564
>>14608
у меня коллега пишет в вим, грит мощно, но он задрот
347 1517589
>>17396
С проверкой разобрался, но теперь без редиректа ничего сделать не получается, а мне обязательно, чтобы это было в виде виджета на 1 странице и она никуда меня не отправляла, а на месте выдавала результаты, например я выбрал ответ, нажал кнопку проголосовать, страница перезагрузилась, обновилась бд и добавились новые значения к результатам, как это сделать?
348 1517602
>>17589
С тобой что-то не так.
349 1517613
>>17589
У вас там все на темплейтах? Не проще ли реализовать апи и аякс форму?
350 1517764
>>17589

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


Ну вот как ты описал так и сделай, в чём проблема?
После получения ебучего ПОСТ реквеста делай либо же редирект на этот же урл но на ГЕТ либо же перед отрисовкой страницы после ПОСТ реквеста делай не только запросы в БД на запись данных, но и на чтение новых, актуальных.
351 1517790
Вот линк на таск кодварс
https://www.codewars.com/kata/permutations/train/python
Мое решение работает в PyCharm, но не работает в кодварс
Вот код
https://ideone.com/JFP7t3
В чем проблема?
1551600961541.png610 Кб, 1280x720
352 1517915
>>17790
Раз уж там разрешены итертулз, то непонятно нахуй ты своего нагородил.
Ты должен возвращать результат, а не печатать.
При тестах вызывается permutations, то есть твоя функция вообще игнорируется.

https://ideone.com/NSZL0j
353 1517935
354 1517938
>>17613
>>17935
Сказали без ажакса делать.
355 1517944
>>12752 (OP)
Как скопировать двумерный массив? По срезу списки из которых состоит массив изменяются и в копии и в оригинале.
356 1517953
>>17944
импорт copy
новый_список = copy.deepcopy(старый_список)
357 1517955
>>17589
Зачем тебе редиректы? Делай пост на эту же страницу, в начале добавь небольшой кусок мол "если в запросе есть воут, то пишем в базу", а дальше обычный код вывода голосовалки.
ALmaz 358 1517978
Аноны помогите решить задачу

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

Ввод данных

Пользователь последовательно вводит данные об учениках в формате
класс фамилия. Например: 9 Иванов или 12Б Петров
За один раз вводится один ученик
Между символами, обозначающим класс и фамилией, ровно один пробел
Количество учеников и классов не ограничено
Концом ввода является передача пустого значения
359 1517993
Сделал автокомплит в питоноконсоли. Сделал так: определяется часть команды до точки и часть команды после точки. По первой части делается eval и dir, а по второй части делаю фильтрацию результатов, которые всплывают в стандартном окне с вариантами. В остальном всё как в стандартном текстовом редакторе, меня смущает то, что каждый раз для подбора вариантов вызывается eval. Ведь мало ли что там может таким образом случайно вызваться.
Вопрос: насколько это через жопу?
360 1518011
>>17993

> насколько это через жопу?


Очень жопно.
Цепи маркова очень торт автокомплите простом
361 1518012
>>17122
Так нахуй, Папка в тред зашел бля

>как их запускать параллельно по секундомеру


threading.Timer
Всё, ёпта
362 1518049
>>18011

>Цепи маркова очень торт автокомплите простом


Что-то я не догнал, при чём тут цепи Маркова. Что ты имеешь в виду?
363 1518090
>>18049

> По первой части делается eval и dir


Звучит не торт

> при чём тут цепи Маркова


Погугли что это и как можно применить.
364 1518134
Помогите плиз найти какой-нибудь более менее пример загрузки пост запросом текстового файла на сервер, написанный
вот это:
https://docs.aiohttp.org/en/latest/web_quickstart.html#file-uploads
не то, тут они показывают , как загрузить файл из инпут поля,
я попытался адаптировать это под обычную загрузку текстового файла POST запросом, например с помощью curl
curl -i -X POST http://localhost:8080 -H "Content-Type: text/xml" --data-binary "@ПУТЬ_К_ФАЙЛУ"
передаю туда файл со следующим содержанием:
123
abc

но при этом я не могу никак получить доступ к самому содержимому этого текстового файла,
365 1518137

> какой-нибудь более менее пример загрузки пост запросом текстового файла на сервер


> но при этом я не могу никак получить доступ к самому содержимому этого текстового файла,


Тебе что из этого надо?
Загрузить файл пост запросом на серв? Бери реквестс и поле file.
Прочитать файл на сервере? Сохраняй файл в директорию а затем открывай его обычным open('/path/dir/file', 'rt').
366 1518139
>>18134
такое ощущение, что
data = await request.post()
вообще пустой

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

как получить текстовое содержимое файла, что бы его потом обрабатывать и на его основе делать респонс и хедеры?
367 1518140
>>18137
хочу получить содержимое текстового файла, полученное POST запросом от клиента (curl -i -X POST http://localhost:8080 -H "Content-Type: text/xml" --data-binary "@ПУТЬ_К_ФАЙЛУ")
обработать его и сохранить в файл другого формата (сделать из него словарь и сохранить в джейсоне)
вот что у меня пока есть:
>>18139
image.png32 Кб, 465x273
368 1518143
>>18140
Ну так вот нужная тебе хуйня
image.png131 Кб, 822x793
369 1518149
>>18143
Да, но этот пример сделан для конкретно этого html темплейта,
а я просто делаю POST запрос с текстовым файлом с помощью утилиты curl
1553143950249.jpg92 Кб, 1048x371
370 1518155
genome = input().lower()
print(f"{(((genome.count('c') + genome.count('g'))/len(genome)) * 100:.1f}")

Мудрые аноны, подскажите что с функцией не так?
371 1518158
>>18149
Потому что ты хуйню творишь.
Если не умеешь курл юзать как надо - юзай реквестс или постмана.
Ты должен передать файл как ФАЙЛ.
И тогда всё работает.
Твоя хтмл форма делает вполне себе обычный завпрос только верно выставляет хэдеры и параметры для передачи.
372 1518189
>>18155
с синтаксисом какая-то мешанина
https://stackoverflow.com/questions/20457038/how-to-round-to-2-decimals-with-python

genome = input().lower()
print(round(((genome.count('c') + genome.count('g'))/len(genome)), 1)100 )
#ИЛИ
res = ((genome.count('c') + genome.count('g'))/len(genome))
100
print(f'{res:0.1f}')

советую как-то разделять код, что б не было мешанины
373 1518207
>>18189
Прилепил немного не то: genome = input().upper()
print(float(f"{((((genome.count('C') + genome.count('G')) / len(genome)) * 100)):.1f}"))

Твой вариант тот же тест проваливает.
374 1518245
>>18158
спасибо за помощь, походу я пытался файл передавать, как data-binary и нужных заголовков не было
375 1518249
>>18245
Всё так.
Удачи тебе, антош
376 1518263
>>17915
Да,я сам допер,что просто надо было когда импортировал пермутейшонс дописать as sth
377 1518466
>>16485
Открываю секрет мироздания: все плевать на пайтон дзен, что не бракуется линтером, то разрешено, а бракует он многое.
378 1518468
>>16486
А по твоему вложенные циклы читаются лучшем, чем генераторы? Есть конечно вещи, которые ухудшают читабельность, но все примеры выше явно не тот пример.
379 1518469
>>16512
Тебе не кажется, что читаемость - вещь субъективная, все зависит от того сколько ты строк кода подобного переварил. Как по мне пример, на который ты сослался, очень даже читабельный.
380 1518470
>>16819
Почему все так боятся мультипроцессинга? Причём причины всегда разные называют, иногда дорого, иногда сложно, иногда просто не стоит. Родина вам звезды дала - носи - не хочу, хочу жрать говно.
381 1518474
>>16961
Интересная либа, надо бы протестить спасибо, анончик.
мимо однострочник
382 1518475
>>16965
Укажи мне в пепах пункты, которые запрещают уже 10 лет хоть что-то из примеров выше, будь добр.
383 1518476
>>16965
У тебя походу какие-то проблемы с пониманием синтаксиса, очевидно, что метод join в качестве аргументов принимает иттерируемый объект. Чтобы понять, что он принимает, достаточно просто посмотреть что сука находится в скобочках, мне кажется, это даже дети в 5 класса умеют делать, когда их обучают всяким паскалям. То что вы не знаете синтаксис и пишете в си-стайл - это чисто ваша проблема.
384 1518482
>>16972
Обоссан? Ты блядь серьезно? Приводишь скрин с сишным однострочником и думаешь что это является хоть каким-то аргументом? Тв либо сосем конченый, либо айсикью у тебя как у хлебушка. Впрочем из-за си-уебков типа тебя люди и пишут вложенные циклы, а вместо итераторов используют for i in range(len(itter_object)). Ты просто не способен понять, что в разных языках разные подходы к понятию читабельности. Если в си принято писать 10 строчек для простенькой операции, то использование сокращение до одностроника уже выбивается из общей картины, но хули ты лезешь то в питон со своим сишным уставом?
385 1518483
>>17008
1) метод copy
2) метод deepcopy
3) срезы: new_list = old_list[:]
386 1518484
>>16972
Лол, как же ньюфаги бугуртят от олдфажного сокрещенного синтаксиса. На моей текущей работе тоже любят сокращенные схемы как в старые времена и проблем это не приносит. Пишем на джаве. То чувство, когда в 2000-х джава была языком для даунов, а сейчас джависты - последние из вымирающей элиты.
387 1518485
>>17310
Само собой есть, причём можно сделать в одну строчку.)
388 1518486
>>18484

Чел в питон треде пытается доказать,что однострочники - зло, и приводит огрызок переписки без контекста, но в нем явно сишный код. Мне кажется тут все вопросы должны отпасть сами собой.
389 1518487
>>18482
Но при этом си работает на голых железках, и пидон без огромного рантайма и кучи еблиотек не взлетит. А если уж хочется писать софт для бизнеса, то для этого есть другие языки: go, swift, kotlin. Пидон это параша для школьников-МЛщиков, чьи модели потом переписывают на C++
390 1518488
>>17560

В pyqt делается через валидаторы на текстедит, но есть какое-то специальное роле для интов со стрелочками, не помню как оно называется, по идее эти стрелочки можно убрать, не уверен, что в ткинтере это можно сделать правда.
391 1518489
>>17561
Из вима все выходят путём перезагрузки машины, поэтому он для хардкорных кодеров.
392 1518494
>>18487
Бля, просто иди нахуй, ты обосрался, но даже это не хочешь признавать. Скажи фейсбуку с их инстаграмом, что питона - параша для школьников.
393 1518495
>>18494
Ну или не ты.
394 1518507
кто-то обосрался
395 1518510
>>18494
Ебал твой пейсбук. Я в айти себе копеечку зарабатываю, чтобы жить более интересно благодаря более-менее интересной работе, а не собираюсь снискать славу среди цифрового плебса разработкой очередного хипсторского говна.
396 1518511
>>18510
А, ты из этих.
397 1518525
Анусы, есть ли у вас на примете какой-нибудь сервис, позволяющий сделать маленькую бд, которая будет доступна из любой жопы мира по какому-то лог-пассу или токену?
398 1518550
>>18525
Firebase, вроде, для такого.
399 1518556
>>18550
Спасибо, заценю.
400 1518643
>>18469

>Тебе не кажется, что читаемость - вещь субъективная


Согласен. Посыл был в том, что качество кода не зависит от количества строк кода, ибо с уменьшением количества строчек кода порой ухудшается читаемость. Это не всегда так, например, map() и filter() очевидно лучше чем for(int i = 0; ... , но баланс между читаемостью и компактностью кода нужно соблюдать.

>Как по мне пример, на который ты сослался, очень даже читабельный.


ИМХО, он менее читабельный по сравнению с аналогичным многострочником. Не по методам, которые там используются, а просто потому, что такое выражение тяжелее на ходу декомпозировать на более простые шаги.
401 1518660
аноны, уже три месяца изучаю питон, из которых полтора это джанга. соответсвенно опыта коммерческого и реального никакого нет. вкатиться в местные галеры не получается и вот вопрос: стоит ли идти на фриланс чтобы на всякой мелкой хуйне набить тот самый заветный опыт или все же это хуевая затея и лучше дальше сидеть в поисках ?
402 1518740
>>18660
1. Может надо было вообще сразу за джангу взяться без этого питона ненужного?
2. Изучать неасинхронный веб-фреймворк в 2019
403 1518741
>>18740
не, без питона бы я бы вообще нихуя не понял само проганье
404 1518742
>>18090
Я уже погуглил. Не понимаю, как это можно применить тут.
405 1518784
>>18742
Покажи код, мб что подскажем.
406 1518817
>>18475
>>18476
>>18466

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

Видимо подход языка Go - дать прогеру как можно меньше синтаксического сахара, в нынешнее время самый адекватный, потому что иначе рискуешь нарваться на людей, которые предпочитают количсество строк читабельности.
407 1518823
>>18817

>синтаксический сахар


>не говно


Весь синтаксический сахар должны реализовывать библиотеки
408 1518828
>>15962

>изи задачи


Проблема в том, что книги пишут уебаны.
Знания конечно с их помощью приобретаешь, но из-за подачи материала происходит это в разы медленнее, если вообще происходит.
f.png508 Кб, 1084x1016
409 1518834
Насколько нужно это знать на уровне джуна? А то чет с этой темой и блокировками туплю и ничего не понимаю, хотя мб нужно больше источников почитать
410 1518837
>>18643
Ну у меня имхо другое. Без сомнения кучу вложенных циклов легко читать, но неприятно.
411 1518840
>>18740
Скоро все будет, они обещали.
412 1518843
>>18834

>потоков


>потоков


>GIL


>потоков

413 1518845
>>18843
Это не взаимоисключающие вещи, лапоть
414 1518849
>>18845
нахуй их синхронизировать то блядь, если поток один из-за этой хуйни.
415 1518854
>>18817
И к чему ты дал ссылку, там речь идёт в основном про reduce, который вообще ни один адекватный человек не стал бы использовать. Я двумя руками против анонимных функций и также считаю, что они ухудшают читабельность. Но как бы статья не парирует абсолютно ничего из того, что пытаешься мне предьявить.

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

Эту будет 3 строчки, но они лучше читаются, yapf как правило это и делает с длинными однострочниками.
image.png2 Кб, 235x47
416 1518857
Помогите кто-нибудь, плиз, я сделал всё, как здесь указано
https://packaging.python.org/tutorials/packaging-projects/

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

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

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

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

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

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

и еще, я же верно понимаю, что если я в своём package использую какие-то другие package, то они автоматически заархивируются в эти
.tar.gz и их функционал можно будет использовать, даже если они сами не установлены на целевом питоне, на котором всё запускается?
сори за простыню, но всё это действительно необходимо понимать
image.png2 Кб, 235x47
416 1518857
Помогите кто-нибудь, плиз, я сделал всё, как здесь указано
https://packaging.python.org/tutorials/packaging-projects/

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

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

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

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

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

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

и еще, я же верно понимаю, что если я в своём package использую какие-то другие package, то они автоматически заархивируются в эти
.tar.gz и их функционал можно будет использовать, даже если они сами не установлены на целевом питоне, на котором всё запускается?
сори за простыню, но всё это действительно необходимо понимать
417 1518861
>>18817
append(a[:i], a[i+1:]...)
вот так в офф доке рекомендуют удалять элемент
a = append(a[:i], append(make([]T, j), a[i:]...)...)
а вот так расширяется слайс. Заебись читабельно, правда?
418 1518864
>>18742
Ну для того что бы "предсказывать" следующую команду юзера, к примеру.
Но до этого в любом случае тебе надо будет взять датасет, его проанализировать и на основе этого уже предлагать.
Есть даже редактор кода, с подобной логикой, сам Гвидо рекламировал, название только забыл.
Если для тебя это перебор, то хватит и того что ты уже сделал, как по мне.
419 1518868
>>18849
Избежание гонки данных - не единственная область применения блокировок
420 1518873
>>18857
Матерь божья царица небесная
421 1518881
>>18849
Бля будешь, что только на CPython будут запускать?
422 1518886
>>18854
Итого мы получаем 3 строчки вместо 4 в исходном варианте, но при этом в твой "однострочник" гораздо сложнее внести изменения и также мы теряем в читаемости.

Типичный код долбоеба любителя экономить строчки
423 1518918
>>18784
Код?
Ну, например, набираем "__builtins__", ставим точку, набираем "c" и жмём ctrl-space, тем самым вызываем автодополнение. При этом вызывается eval, который возвращает объект __builtins__, потом вызывается dir(__builtins__) и фильтруется используя начало названия поля "c". Так как в dir(__builtins__) всего два поля, начинающиеся таким образом, возвращаются только clear и copy.
>>18864

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


Ну а если я только что написал
def myfunc():
return '2ch'
то "myfunc().__f" по идее должно автодополняться __format__, а если сразу же после этого я сделаю
def myfunc():
return '2ch'
то та же самая строка должна дополниться уже четырьмя вариантами.
А где взять такой датасет, который содержал бы все эти варианты, если определения функций только что написаны и они до этого ни разу никак не вызывались?
Единственной возможностью дать соответствующие варианты не вызывая функцию мне тут видится анализ её исходного текста. Но это как-то совсем уж нетривиально.
424 1518959
>>18881
А кто-то другими имплементациями пользуется?
425 1518964
>>18959
Вот из-за таких как ты НА ЛИНУКС НЕТ ИГОР
426 1518969
>>18886
Все, иди нахуй. Ты просто добоеб, которому видимо в целом сложно читать, писать и связывать слова. Несешь какую-то просто несусветную ахинею, от которой у меня только испанский стыд.
427 1518998
>>18873
Не понял юмора
hitman 2.jpg533 Кб, 1680x1050
428 1519008
Анон нид хелп. Есть потный кейс и жесткий дедлайн.

Есть компьютер, на котором будет запущен скрипт на питоне (только стандартная библиотека) с пользователя не имеющего прав администратора, но имеющего доступ как минимум на чтение к корпоративным сетевым дискам. Нужно с помощью этого скрипта собрать определенный минимум информации о владельце и передать её средствами Интернет. С помощью модуля os, я думаю, что могу собрать достаточно, но я пока не отстреливаю как передать эту информацию себе без всяких писечек типа requests
Алсо, инфраструктура, в которой будет запущен скрипт будет хорошо защищена, поэтому, скажем, со стандартного outlook письмо на внешний для компании адрес скорее всего отправить не получится, но скрипту, при этом, гарантированно дадут запуститься.
Скрывать работу скрипта нет необходимости, т.к. закон в данном случае нарушаю не я, но информация должна быть передана.
Сердечно прошу советов
429 1519009
>>19008
Если админ в твоей конторе не лыком шит, то хуй что у тебя выйдет. Нормальный фаерволл блокирует вход-выход любой неизвестной хуйни
430 1519011
>>19008

> без всяких писечек типа requests


Сокеты.

> закон в данном случае нарушаю не я


Собрался воевать каким-то скриптом против целой компании? Ну-ну. Ваши юристы улыбаются и машут тебе.
431 1519012
>>19011
не я пролил первую кровь
они пытаются получить доступ туда, куда им нельзя, так что это скорее к нашим юристам, но пока не ясно куда воевать
432 1519017
>>19009
Если я гипотетически захожу на сайт какого-нибудь маил.ру пост-реквестом и таким же макаром отправляю письмо, такое сможет распознать и заблочить?
433 1519020
>>19012

> не я пролил первую кровь


Это не значит, что тебе тоже можно. По итогу накажут обе стороны, но компания утрётся, а тебе будет пиздец. Так что трижды подумай.
434 1519023
>>19017
Ясен хуй сможет, ты хотя бы один фаерволл в какой угодно системе видел?
435 1519030
>>18969
однострочника порвало
436 1519040
>>18918

> А где взять такой датасет


Парсинг гитхабовских свежих реп с пистоном, например.

> они до этого ни разу никак не вызывались


Для этого тебе изначально надо собрать данные по всем возможным вариантам(из доков питона или так же как ты делаешь сейчас - из локального интерпретатора), затем на него наложить данные с гита(по частоте юзания) и только после этого применять на практике.
Это твой пет прожект? Как-то планируешь развивать это в конечный попенсорс продукт?
437 1519042
>>19023
Мне случалось запускать веб-парсеры на разных рабочих местах с неплохой защитой, не все так однозначно
438 1519043
>>19008
Ох, стандартными либами много не навоюешь.
Собрать данные соберёшь, но вывести не сможешь.
Всё настолько огорожено что даже меил отправить не сможешь?
439 1519066
Можете, пожалуйста оценить адекватность решения?
Требуется разбить регуляркой строчку вида:

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

на словарь

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

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

на всякий случай код и регулярка
https://regex101.com/r/uB4sI9/159
https://pastebin.com/cCkgRRXP
441 1519097
Попытка скомпилировать питоновский код в исполняемый файл и библиотеки - пздц, нахуй. Столько подводных камней я давно не видел.
442 1519121
>>19042
Судя по твоим вопросам/ответами ты не очень компетентен в оценке уровня защиты чего бы то ни было. Так что не нарывайся почём зря.
443 1519126
Посоветуйте материал или книжку по стандартным и самым популярным библиотекам python. Желательно на русском.
444 1519130
>>18918
Ты только что Language Server Protocol
445 1519131
>>19126
Бизли, Джонс "Python. Книга рецептов"
Эту книжку вообще нужно в шапку запихнуть.
Untitled.png31 Кб, 832x374
446 1519137
Аноны, каким образом это сравнивается объясните, пожалуйста.
Как они True или Int сравнивают с None? При том что по отдельности ни True, ни Int не сравниваются с None.
447 1519140
>>19137
Приоритет операций:
first_time or value > None
равносильно
first_time or (value > None)
or не вычисляет выражение справа от себя, если левая часть True

Вообще да, хуевый какой-то код.
448 1519141
>>19137
у вас информатику в школе проходят?
у тебя никогда не будет сравнения с None потому что
при первом проходе first_time будет True, а при последующих largest будет int которое будет присвоено в самом первом проходе и т.д , после чего first_time станет False.
449 1519143
>>19141
пересмотри код ещё раз прежде чем кукарекать. где изменяется переменная largest которая с none, перед первым выполнением сравнения?

Первое сравнение True или Какой-то интеджер.
450 1519144
>>19140
я всё равно ничего не понял. попробуйте в интерпретаторе это вбить оно сравнивается. но вопрос один, как?
451 1519145
>>19140
>>19144

спасибо, анон. я всё понял. спасибо тебе огромное, ещё раз. извини что так долго понимал.
452 1519147
>>19090
Спасибо тебе!
453 1519148
>>18964

>линукс


>игры


совсем дурак?
454 1519153
>>19148
линукс дома на домашнем компьютере используют задроты всратые для поднятия своего чсв.
image.jpeg246 Кб, 750x1203
455 1519179
Питонисты, читаю тред с яблочного клиента, провайдер - мегафон, айпи этой ебаной срани полностью засраны спамерами, то бишь при попытке бампануть я постоянно вижу сообщение о том, что постинг запрещён. Как мы все прекрасно знаем, публичные впны запрещены макакой, вернее с ними только ридонли можно сидеть. Поскольку ios слишком ахуенная и слишком для людей, то там хер натянешь прокси на весь трафик. IOS 12.4.1, есть джейл брейк - права супер пользователя и доступ к терминалу. Возможно могу поставить homebrew, не проверял, из коробки никаких пакетных менеджеров нет, как и на макосе вроде. Есть полноценный питон 3 с урезанным пипом и практически полноценная ide - Pythonista. Лирикам часть на этом заканчивается. Вопрос - могу ли я как-то питоном изменять свой динамический айпи, возможно путём перезагрузки сети или что-то типа того, у меня даже особо и мыслей нет, как это можно делать, не приходилось работать с сокетами и в целом с сетевым уровнем ниже прикладного. Скорее всего тут подойдёт решение, которое применимо к Linux или другим Unix-like системам. Буду рад ответам. Заранее спасибо. Твика для моих задач не нашёл. Простое выключение-включение интернета не помогает, но зато переход в авиарежим с последующим ожиданием ~10 секунд меняет ip.
456 1519187
>>19179
тебе что делать нехуй? зачем вообще сидеть в интернете с мобильного это же боль и неудобства. маленькое сенсорное дерьмо на котором ничего не видно, многие сайты неадаптированы да ещё и нормально ничего не напечатать.
457 1519189
>>19131
Спасибо анонче
458 1519192
>>19187
Из 2008 двачуешь?
459 1519193
>>19192
смартфоны пораша.
460 1519194
>>19187
Весьма конструктивный ответ был бы в году так 2005
461 1519221
Ку, питонач
Как этот ваш пайтон подходит для сетевого программирования вперемешку с задачами для решения инфосек залуп (network hardening) ну и написания утилит для сетевой безопасности?
462 1519233
Помогите я тупой, первый пик моя модель в которой раньше было: from django.contrib.auth.models import User и модель Poll ссылалсь на User, все работало, но это было сделано локально, теперь надо загрузить на проект, сказали что эта модель должна ссылаться на Employee что на скрине видно и теперь функция user_can_vote которая раньше принимала юзера и request.user работала отлично, теперь надо заменить так чтобы она брала email от employee и делала проверку по нем, скинули код с пика 3, сказали там все что нужно чтоб я понял как сделать, а я пиздец туплю.
463 1519255
анчоусы, я конечно извиняюсь за такой идиотский вопрос. но я блять уже изучаю погромирование пол гда. и до сих пор не знаю как написать программу которая будет просто открыть одно окно и выводить хеллоуворлд. расскажи, как программе из питона пидать наконец графическую оболочку. чтобы кнопочки были то сё хуё-моё.
464 1519258
>>19255
Зачем тебе gui в 2019?
Посмотри на tkinter, он несложный.
465 1519260
>>19258
я на окнах сижу. спасибо большое за совет.
ну так хочу на c++ вообще писать там всякие драйвера и прочее. но т.к. ньюфаня ёбаная и порог входа на ++ высокий изучаю питон после него на ++ пойду.
466 1519268
>>19260
Ты в обратном порядке делаешь. Нужно начать с плюсов и охуеть от безблагодатности, а потом перекатиться на питон и наслаждаться горами синтаксического сахара.
467 1519273
>>19268
Вот этого удвою
мимо делал так же
468 1519277
>>19268
но python он же для веба. а я хочу драйвера писать и прочим задротством заниматься.
469 1519280
>>19221
знает кто?
470 1519282
>>19277
Загуглил за тебя, не благодари
https://www.quora.com/Can-Python-be-used-in-device-driver-development
15735705188420.png51 Кб, 925x599
471 1519441
>>12752 (OP)
Двач, решил поставить ide для Python. Выбор пал на komodo 11, т.к. ток вкатываюсь и pycharm и eclipse пока не нужны. Ставлю на свою ubuntu. Зашёл в гайд по установке, а там пикрил. Нужно ли это делать? Что такое activepython и для чего он? >>12752 (OP)
472 1519459
>>19441
Нахуй ты ебешь себе мозги неюзабельным говном? Если хочешь упороться, ну максимум паука себе поставь, а вообще вскод\саблайм тоже покатят, хоть и последний не ide
473 1519461
>>19459
стоит sublime3, поставил плагин python3, но он не поддерживает ввод
474 1519467
>>19461
Запускай через терминал, будь мужиком.
475 1519471
>>19467
хочу в IDE)
476 1519473
>>19461
Поддерживает.
изображение.png47 Кб, 1920x989
477 1519478
478 1519546
>>19268
Неистово двачую.
479 1519660
>>19441
ну это что-то с перменной связано поэтому без него никак.
480 1519692
>>19441
Активпайтон это просто готовый набор для работы. Там стандартный набор либ плюс куча дополнительных типа джанги, реквестс и т.д на все случаи жизни.
Можно обойтись обычным питоном и батарейки самому ставить.
481 1519698
>>19040

>> они до этого ни разу никак не вызывались


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


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

>Это твой пет прожект?


Типа того. Изначально мне просто надоело постоянно набирать dir(...) в голой консоли.

>Как-то планируешь развивать это в конечный попенсорс продукт?


Да я не знаю, нужны ли людям такие велосипеды.
482 1519706
>>19282
писать драйвера на питоне всё равно что на c++ сайт делать.
483 1519714
>>19706
Последнее хотя бы возможно (cgi и не только).
484 1519772
>>19698

> такое автодополнение будет вести пользователя по ложному пути.


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

> Да я не знаю, нужны ли людям такие велосипеды.


Почему бы и нет? Ссылочка на гит есть? Или фейкопочта.
485 1519850
аноны, посмотрите, пожалуйста, я правильно решил это? там была готовая программа которая рисовала фрактал второго порядка(пик 3 и 4). нужно было сделать так чтобы она рисовала снежинку коха. ломал голову и решил просто выполнение функции поместить в for с тройным поворотом угла. снежинка у меня получилась, но что-то мне подсказывает что нужно было сделать это в рамках рекурсии. аноны, я правильно усовершенствовал программу или нет?
486 1519866
Как в юпитер ноутбуке запретить вывод типа
/home/username/lib/python3.6/site-packages/ipykernel_launcher.py:34: RuntimeWarning: divide by zero encountered in log
Это не ошибка, а какбы предупреждение. Просто чтобы оно не отображалось. Из-за паранойи не хочу юзернейм палить.
488 1519884
Знаю что это оффтоп, но есть форма в которой нельзя изменять данные и копировать их тоже, так вот как сделать так чтобы я мог копировать, но сохранить то что изменять ее нельзя.
489 1519892
>>19884
Да.
490 1519895
>>19892
Что да?
491 1519897
>>19895
Нет
492 1519907
>>19850
Правильно ты сделал, единственное, надо было самому писать прогу для кривой коха, а не пиздить где-то. В мфтишном курсе 8 практика на рекурсию, там целая куча заданий на фракталы и есть гифки, по которым легко понять, как примерно двигается черепашка, прорешай эту практику смотря только на их страничку и страницы этих кривых в википедии
493 1519908
>>19461
Ну sublimeREPL поставь, он точно поддерживает
494 1519924
>>19698
У второго питона есть специфические черты в синтаксисе, по которым его модно отличить. Мне кажется лучше парусить исходники с pypi, там указывается с какими версиями совместима либа. Да и вообще, я бы на твоём месте дропал бы второго пистона, это доисторическое говно динозавров нахрен никому не упало, только дополнительные ресы на него потратишь, а актуальность будет мизерной.
495 1519926
Возможно вопрос не по теме, хотя pyqt скорее всего и gtk умеет работать с svg. Возможно ли в векторной графике сделать что-то типа tabwidget или combobox, не рисую это вручную и не определяя зоны клика?
496 1519956
Предположим, есть django-приложение над которым работает множество разработчиков. И всего одна база с тестовыми данными в локалке, которую используют все.

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

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

После мерджа в мастер всегда делаю migrate --fake, но сейчас почему-то засомневался что ничего не ломаю
497 1519960
Изучаю теорию уже пару месяцев, многое знаю из базового. Но как только сажусь писать код, незнаю что и как делать. Буквально вчера казалось что сделал шаг вперед в обучении, а сейчас словил демотиватор конкретный. Как бороться с депрессией от собственной тупости и желанием все бросить?
Мне кажется я не могу спроектировать программу, представить ее архитектуру. Из за этого даже не начинаю писать код.
498 1519967
>>19960
Я мог забрасывать программирование "для себя" на срок от месяца-два до пол года+. И ничего, возвращался со свежей головой и идеями.
499 1519969
>>19478
Ты просто тупой.
Ну конечно не все работает в текстовом-то редакторе.
Сделать ИДЕ можно, но с ограничениями и еблей.
500 1519976
>>19907
Спасибо большое, анон. Понял. Последую твоему совету.
Ну я её заимствовал т.к. условие в задании позволяло. Ну так я знаю алгоритм по которому фракталы делаются, поэтому я бы её скорее всего написал бы
501 1519978
>>19967
Мне на галеру нужно пахать, в ближайшие полгода устроиться было бы неплохо.
Не понимаю почему мозг не запоминает примеры кода. Должен ведь анализировать и предлагать мне варианты применения, сука, горит ппц.
502 1519985
>>19978
Просто почаще сталкивайся с реальными задачами. Я, к примеру, в голове держу только полезные мне модули, которые недавно использовал.
Все остальные полезные куски кода и примеры применения лежат на приватном битбакете, куда скидываю абсолютно все, что работало.
503 1519987
>>19985
Да в том то и дело, что в реальных задачах ступор. Ну по книжечке возможно я могу найти подходящее решение, даже немного подправить под себя. Оно так и должно быть? Без книг вообще ступор, на уровне абсолютного примитива только пишу.
504 1519989
>>19987
Важен результат, всем похуй на то, как ты пишешь, особенно, если этот код после тебя никто больше трогать не будет. Придрочишься, не переживай.
505 1520015
>>19956
Ясен хуй будет проблема с миграциями.
Либо перед каждым тестом делай и накатывай дамп бд либо же напиши скрипт, который будет поднимать тебе бд локально и заполнять ее данными.
506 1520029
Есть у кого код для бота вк самого простого? Ну, пишешь сообществу пинг, тебе в ответ понг, как пример.
507 1520053
>>20029
А тибе зачем?
Чекай тут примеры
https://github.com/python273/vk_api
508 1520059
>>19884
То что изменить нельзя, но, в принципе, можно сделать так что после копирования не сохраняется
509 1520062
>>20053
Будь добр, ответь на волнующий вопрос. Я эту хуету смогу для теста запустить на домашнем компе, чтобы она отвечала написавшему?
510 1520066
>>20062
Да, если будешь лонгполл юзать, если же на коллбэках то нужен или сервак или нгрок скачай.
511 1520081
>>20066
Понял, спасибо. Если лонгпол то пропердится сам, если не лонгполл то нужно помочь пропердеться.
512 1520118
Как блядь понять asyncio?
513 1520124
>>20118
https://realpython.com/python-async-features/
https://realpython.com/async-io-python/
Ещ] аноны видое с ютуба советовали, но линк проебан
515 1520136
Смотрю уроки на ютубе, у чела работает, а у меня нет (ошибка синтаксиса). Че не так то, я в точности пишу как он https://pastebin.com/z6M92ZHu
516 1520140
>>20136
У тебя ключ - строка
517 1520142
>>20136
так у тебя запятой нет.
people = {'girl1' : 'Анна', 'girl2' : 'Наташа'}

вот это попробуй, после анны запятая должная быть
518 1520143
>>20140
И че делать?
519 1520145
>>20143
запятую поставь, блядь. у тебя запятой нет.
520 1520146
>>20145
NameError: name 'girl1' is not defined
521 1520147
>>20146
ну ты написал что у тебя ошибка синтаксиса, я тебе сказал чтот запятой нет. у тебя там просто кусок кода без назначенных перменных у тебя и people будет ненайден. хули ты хочешь, кинул блядь кусок кода. пошёл нахуй отсюда
522 1520149
В 3 пистоне все по определению в юникоде? Не может быть проблем с кодировкой каких-либо?
523 1520150
>>20143
Фиксить
people = {
'girl1' : 'Анна',
'girl2' : 'Наташа'
}

print(people['girl1'])
image.png57 Кб, 704x397
524 1520151
>>20124
>>20127
Спасибо, ананасы. Еще вопрос по асинкам:
https://aiohttp.readthedocs.io/en/stable/
Вот здесь в документации пример лупа такой, я по-моему на дваче читал что в последних версиях питона это неправильно?
525 1520152
>>20150
он тебе щас выдвинет сообщение о том что переменная не найдена. этот еблан написал что у него синтасическая ошибка и нужно фиксить, ему сказали как. он пофиксил и теперь этот дебил предъявляет хули в его вырванном куске кода перменные не находятся. не отвечайте этому клоуну. пиздец просто откуда такие маньки лезут, очередной вайтишник в треде
526 1520154
>>20147
Только что понял и хотел написать, что girl1 я не занес в апострофы, но спасибо за ответ. У меня башка уже дымит просто, я с 10 утра сижу дрочусь, надо передохнуть
527 1520155
>>20152
Хуй саси
528 1520158
>>20151
Нет, это к версиям питона отношения не имеет.
Я про конструкцию ИФ и т.д.
А насч]т создания лупа и т.д. то почти да, просто начиная с 3,7 можно писать асинкио.ран(мэин()), но можно и как на пике делать. Особенно это полезно если хочешь новый ивентлуп создать и т.п.
529 1520159
>>20154
у тебя превосходная усидчивость
530 1520160
>>20154
сколько тебе лет?
531 1520164
>>20149
Могут быть поломанные данные.
532 1520469
>>19960
Смотри как подобные задачи решают другие. Конечно, лучше всего будет, если ты сначала сам попытаешься решить задачу хоть как-нибудь и только потом посмотришь чужие решения. В этом нет ничего плохого, 90% программирования заключается в поиске готовых решений и адаптировании их для своей задачи
533 1520556
>>19772

>Почему бы и нет? Ссылочка на гит есть?


Пока нет. Если хочешь могу тебе отписаться, если выложу.
Но у меня реализован только самый примитив, eval и dir, и всё, и вряд ли будет что-то большее.
>>19924
Да я на него и не ориентируюсь.
534 1520587
Почему лутц такая унылая параша с кучей воды?
В некоторых главах глаза кровоточат от обилия непонятной хуиты.
Есть тут осилившие этот талмуд? Помогло в итоге?
1453763341608.jpg74 Кб, 900x900
535 1520591
>>20587
Тупо взял и начал писать на питоне, не знаю зачем вам талмуды эти. Язык простой как хуй знает что.
536 1520593
>>20591
Если есть опыт погромирования то понятно все с тобой. А еслм нафаня совсем? Даже без математической базы.
Язык то простой, а вот как это говно комбинировать хз.
537 1520618
Тупейший вопрос от нафани:
Вот у функции есть аргументы
def func1 (a, b)
Как в a и b передать результат выполнения другой функции, например input()?
538 1520624
>>20618
Это шутка такая?
539 1520626
>>20624
Почему шутка? Во всех видеоуроках говорят как прописать аргумент при вызове функции вручную. А если мне надо не вручную?
540 1520628
Нагуглил вроде как ответ
Тоесть я должен оьязательно обьявить переменные a, b в самой программе? И область видимости с моей def функцией будет одна и та же? ( a и b будут теже самые) Туповато както, без переменных нельзя сразу в скобки засунуть?
541 1520648
>>20628
Почему бы тебе не начать самому пробовать свои догадки? Это быстрее чем капчу тут вводить.
543 1520775
>>20593
От малого к большому, работает не только в программировании. Буквально от 10 строчных задачек до 20-50-100 строчных.
Где-то тут сайт был с задачками, тупо все прорешай прочитав раздел в котором они.
https://pythontutor.ru/
544 1520814
>>20556
Отписывайся
homme.le.tranquilleANUSyandexPUNCTUMbWNvy
Способ поиска всегда можно изменить.
545 1520949
Задача: вывести первые n элементов,которые раскладываются (2^i)(3^j)(5^k)
https://ideone.com/a8DHrb
Не понимаю,что не так?
546 1521003
>>12752 (OP)
Сап, как поменять местами папки в репрозитории на гитхабе? Никак не могу понять
547 1521015
>>20949
По-моему, там всё не так.
Это какая-то бессмыслица.
Остатки там у тебя везде от деления на 2.
В последнем else чего-то не хватает.
Вложенный цикл for лишний.
len(arr) <= 5000 лишнее.
Да и условие while a >= 1 прямо перед if a == 1 лишнее.
i += 1 не на месте. Тут я не могу доказать, ибо это работе не мешает, просто не здесь оно должно быть, и всё.
Ну и, наконец, если процедура работает правильно, то добавление первого элемента arr вручную совершенно излишне.
[1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36, 40, 45, 48, 50, 54, 60, 64, 72, 75, 80, 81]
А ты сам всего этого не видишь?
548 1521094
>>20949
Я бы просто в множество набил сперва n двоек, затем тройки вплость до n * 2, затем пятёрки так же. Преобразовал в список и вывел первые n чисел.
549 1521096
Аноны, пишу небольшой сервис, который будет конектится к рэбиту, читать сообщение и делать рассылку этого сообщения по другим сервисам(левым, не моим). Как/что лучше выбрать для моего сервиса что бы потом удобно было тестить. Замокать отправку этих сообщений и т.п., есть какие варианты?
550 1521097
>>21015
Насчет того,что там остаток от деления на 2,да я просто не ту версию кода скопировал. Вот что получилось после твоих советов
https://ideone.com/2xT1Md не хочет i+=1 делать
551 1521098
>>21096
Рассылка должна идти обычными хттп пост запросами.
552 1521099
>>21094
типо 2,4,8,16.... ну и потом что ты написал
так число может быть комбинацией из любого количества 2 3 и 5
553 1521195
>>20949
>>21097
Не понимаю, что ты делаешь вообще, у тебя там два в степени i, а не 2 умножить на i
554 1521207
Сап двач, есть ли смысл в курсах типа гикбрейнс, скиллфэктори, отус? Или зря бабло потрачу?
555 1521212
556 1521226
>>21212
Спасибо (что да блядь)
557 1521232
>>21207
Если усидчивый, можешь читать книги и умеешь гуглить, то нахуй не нужно.
558 1521236
>>21232
А если нет то и вообще нет смысла
559 1521247
>>19960
Тоже самое было, потом устроился джуном и вроде лучше стало.
560 1521295
Как вообще принято покрывать юнит-тестами функции?

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

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

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

Я немного упростил свою реальную функцию, у меня еще добавятся тесты для разных специфичных случаев,
но есть ли еще какие-то основные тесты, которые я упустил?
561 1521296
>>21295
И еще, если,допустим, делаешь собственный парсер и оформляешь его , как питоновский пакет,
нужно ли там прописывать собственные исключения, например для случая, когда на вход подана строка неправильного формата?
Или достаточно выбрасывать в коде уже существующий тип исключения, например ValueError, написав лишь там своё сообщение ?
562 1521304
>>20626
а=input()
563 1521310
Возможно ли сделать аргументом функции переменную, зависящую по дефолту от других аргументов, но чтоб можно было и своё значение вводить?
Примерно что должно быть.
def test(a, b, c=a+b):
return abc
Но мой пример не работает
564 1521330
>>21310
Можно сделать, например, так:
def test(a, b, c=None):
_if c is None:
__c = a + b
...
565 1521349
>>21310
Я могу ошибаться, но вроде такую хуйню добавили в питоне 3.8
566 1521389
>>12752 (OP)
Сколько сейчас пайтон джун (без опыта) может получать в мск? Хотя бы 50-55 реально выбить?
568 1521413
>>17993

>Вопрос: насколько это через жопу?


Да вообщем то не через жопу, а нормальное вполне решение, подтверждающее что твой интеллект работает.
В таких случаях почти всегда есть решения лучше.
Но назвать это "через жопу" не получается, т.к. это очевидно разумный путь, который и должен был вначале в башне сформироваться.
569 1521416
>>17008

>Объясните мне, как в питоне по нормальному копировать списки?


Чёрт, че развонялся? copy() и всё.
сам же пишешь:

>И главное, где про питон не почитаешь- ах какой элегантный язык.

sage 570 1521440
>>21247
На собесе что спрашивали? В чем заключается сама работа?
571 1522206
>>20158
Как жаль, что версию 3,7 не будет ещё никто юзать пол года как
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 16 ноября 2019 года.

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

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