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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред #68 /python/ 1472577 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #68.
Предыдущий >>1465926 (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

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

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

Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
2 1472581
>>1472562
А какие асинхронные библиотеки нынче надо знать. Ну вот реально активно используемые? Так сказать джентльменский набор того, кто умеет asyncio?
3 1472588
>>72581
Aiohttp / tornado. Умение написать свою асинхронную хуйню.
4 1472590
Вкину это ещё раз, мало ли.
Аноны, как насчёт небольшого конкурса?
Игра запиленная на PyGame
Пилите игру, прогресс разработки заливаете на гит(любой сервис), аноны оценивают и победителям приз, к примеру 200$(рубли/битки and etc. в эквиваленте).
1. Тематика любая;
2. Пара отдельных направлений - 2D и 3D(в каждом направлении свой победитель и свой приз);
3. Поощрительные призы за не призовые места, но за код/душу/музыку/анимацию and etc;
4. Уже ведёшь разработку? Похуй, можешь принять участие. Главное - активность.
5, Со сроками определимся, но как по мне, хватит - 2-3 месяца.
Есть желающие принять участи?
endcard.webm740 Кб, webm,
800x450, 0:10
5 1472636
>>72590

>Игра запиленная на PyGame


А что сразу не на Ren'Py?
sage 6 1472637
>>72590
>>72636
полуебки съебите в свой загон
7 1472657
>>72590
По-моему такой призовой фонд даже на весь гд собрать невозможно, лол. Я думаю, максимум что в этом треде может получиться -- это пару анонов с играми и один, который согласится потратить время на чтение говнокода.
Хотя сам лично я собирался начать писать что-нибудь на pygame по ходу изучения ооп + у меня дальше по мфтишному курсу несколько практик по pygame. Но я не думаю, что может получиться что-то играбельное, до этого я только курс по алгоритмам проходил и решал кодварс.
8 1472701
>>72637
Это мой загон. В чем проблема?
>>72636
Как по мне, визуальные новеллы - слишком специфический жанр.
>>72657

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


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

Подожду ещё желающих.
2019-09-13045212929.gif99 Кб, 154x148
9 1472776
>>72590
https://pygame-dev.blogspot.com

Буквально пару дней назад начал пилить по просьбе из /gd/ раздела. Пока что два урока, но зато очень подробно. В ближайшую неделю напишу еще штук 5 уроков со всеми нужными для RPG функциями

Как раз хотел спросить в /pr, кому-то здесь инетересен мануал по созданию RPG на Python?
Алсо зацените блог, что думаете насчет манеры подачи инфы, дизайна?
10 1472791
>>72701
Иди нахуй отсюда.
gd к твоим услугам на эту тему.
11 1472800
>>72791
удивительно. Из /gd/ гонят в этот раздел. Из этого раздела обратно в /gd/...

>>72776-кодер
12 1472805
>>72800
Тема была с созданием игры, что очевидно намекает на gd. Да и конкурсы по игрострою там проводятся.
13 1472807
>>72805
а там говорят что просто обсуждение создания игр, а КОДИНГ нужно сюда постить
14 1472810
>>72807
И кроме того, что был упомянут pygame, ни слова про кодинг не увидел, вообще ничего.
Короче, нахуй эту тему. Пусть создает отдельный тред, может кто с других языков заинтересуется, но я очень сомневаюсь.
15 1472819
>>72701
>>72590

Смотри мой пост >>72776, я ЖЕЛАЮЩИЙ поучаствовать в твоем конкурсе
16 1472824
>>72577 (OP)
Аннуннаки, есть ли вариант тестировать сайты, которые написаны вдоль и поперек на жабаскрипте? Тут только какой-нибудь селениум поможет, или requests+bs4 уже научился справляться с такими сайтами?
17 1472826
>>72776
Я бы с удовольтствием поучаствовал бы, такой то развивающий челлендж. Но пигейм не учил, т.к. он мне не особо интересен для изучения, и вабще, впереди ещё 300 страниц книженции по пайтону...
Мимо-нюфаня.
18 1472837
>>72826
300 страниц не обязательно читать
Палю годноту:
codecademy.com/learn/learn-python
нажимаешь Start
регаешься по-быстрому, можно на фейкомыло и начинаешь обучение.
Читать много не нужно, все кратко и по теме. Будешь сам кодить и смотреть как твоя программа работает в каждом уроке. За 1-2 дня станешь полноценным питон-кодером.
19 1472838
>>72837
Я уже освоил укус питона, писал мелкие софтинки, сейчас более углублённую книженцию на 700 страниц читаю, которая посвящает в мелкие детали, которые не даёт базовый курс + дополнения - сейчас SQLite прохожу.
20 1472847
Питононы, вопрос от мимо проходившего офисного планктона без опыта программирования. Нужно: накидать скрипт, который будет сравнивать периодически выгружающиеся из базы данных таблицы Эксель и уже существующей, в которой собраны неактуальные, но остающиеся в базе данных строки. То есть из каждой новой выгрузки я хочу скриптом удалять статичный набор строк (чтобы не делать это вручную каждый раз). Мне тут какую библиотеку надо использоват? Панд?
21 1472860
>>72847

> скриптом удалять статичный набор строк


стандартными средствами питона
для sql базы данных SQLAlchemy
22 1472871
>>72847
Данные если уникальны - просто множествами представляешь и вычитаешь.
Если нет, сортировка и вычитание.
23 1472884
>>72590
Сколько платишь? Сколько предоплата?
superthumb.jpg8 Кб, 300x250
25 1472892
>>72847
делаю по примеру, найденному в интернетах. когда копирую код оттуда и использую для примера две таблицы с гитхаба автора, все работает норм. если я заменяю данные в ячейках таблицы (сохраняя названия колонок), ловлю ошибку:

KeyError: 'passes columns are not ALL present dataframe'

мой планктонный далекий от программирования мозг не в силах понять, что я делаю не так.
26 1472896
>>72892
Загугли ошибку и в первом же ответе на stackoverflow все поймешь.
27 1472897
>>72896
знаю, но точно такую не вижу. вариации да, такую нет нубопроблемы блядь разрывает надо было делать всё вручную нахуй
28 1472917
>>72791

> Иди нахуй отсюда.


Нет ты.
>>72776
Выглядит интересно, почитал, буду следить.
Записал тебя в желающие, но надо хотя бы ещё пару человек.
>>72826
Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет.
>>72884
Это конкурс, а не работа.
Я лично каждому победителю готов выдать оговоренный приз(по 200$) + доп. призы тем кто постарается, но не победит.
Если есть спонсоры - можно увеличить призовой фонд, но для этого надо вначале желающих набрать.
Платить за участие не надо.
29 1472919
>>72917

>Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет.


Кивя и Пайкт у меня та же в планах изучеия. К ПайКт приступлю в ближайшее время - ей как раз посвящена часть моей книги, киви собирался изучить чуть позже, в рамках попытки изучить кодинг под мобильнички. Олсо, не знал что най пайкуте можно игры делать, лол.
30 1472950
>>72897
Ты неправильно заменяешь данные в ячейках таблицы. Погугли pandas set column cell by the index.
31 1472981
>>72950

> pandas set column cell by the index.


спасибо, анон.
32 1472983
Хайль питонисты.
Есть простой код (даже слишком), который реализует RSA-шифрование:
https://pastebin.com/YB8xyB3P

Работает обычно правильно, но периодически возникает ошибка и числа при дешифровке меняются. Типа такого:
https://pastebin.com/9QXNMCju

Это переполнение? Но я думал, в путоне длина чисел нелимитирована. Или это из-за модульных вычислений? Но я, вроде, пытаюсь бороться с этим. Ограничил максимальную зарплату минимальным n, да ещё и вычел из неё дополнительно, чтоб даже близко к границе не подходило. Посмотри, анон, а?
33 1472999
>>72824
Бамп.
34 1473001
>>72824
Нет не научился.
Бери селениум и в путь.
Хотя, смотря что тебе тестить надо, если апи, который дёргает жабаскрипт то можно реквестами, если же UI то тут без вариантов.
35 1473006
>>73001
Селениум же умеет высасывать весь код сайта после его прогрузки с жабаскриптом? И работать в фоне?
36 1473021
>>73006
Весь код сайта? Можно в принципе.
37 1473023
>>73021
Хорошо, спасибо за ответы.
38 1473031
Есть варианты сделать компактнее выражение
[[0 for i in range(1, i + 1)] for i in range(1, 10)] + [[0 for i in range(1, i + 1)] for i in range(10, 0, -1)] ?
Всё, что пришло в голову
[[0 for i in (range(1, i + 1) if i < 11 else range(20 - i, 0, -1))] for i in range(1, 20)] ,
но это выглядит не намного менее громоздко.
39 1473035
>>73031
Убивал бы нахуй за такие выражения.
40 1473036
>>73031

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


>[[0 for i in range(1, i + 1)] for i in range(1, 10)] + [[0 for i in range(1, i + 1)] for i in range(10, 0, -1)]



Слёту, у тебя индийский способ генерирования списка нулей, вот так можно упростить
[[0]i for i in range(1, 10)] + [[0]i for i in range(10, 0, -1)]

Ещё пять минут подумаю, мне кажется и это можно улучшишь. Хотя так уже читаемо
41 1473037
>>73036

>[0]i


[0]*i
42 1473055
>>73035
Что не нравится больше всего? Хотелось бы конкретики.

>>73036
Да, выглядит гораздо более адекватно. Спасибо.
Складывать списки научился, а про умножение на число не додумался вспомнить.
43 1473063
>>73055

> Что не нравится больше всего? Хотелось бы конкретики.


Слишком много всего и сразу, большая вложенность.
44 1473093
>>73031
Не надо так писать. Это "умную" хуйню потом тебе же читать через полгода или, что еще хуже, другому человеку. Пиши понятный код.
45 1473098
Репост из предыдущего треда.
Посоны, а кто-нибудь может мне помочь с ткинтером? Написал небольшой парсер файлов игры, и нужно через ткинтер забубенить вызов функции отрисовки и перевода содержимого файлов, но никак не могу догнать, как это сделать среверс-инженирить похожие проги не получилось
Не хочется тут палить код, так что телега fakeaccount123123
46 1473126
>>73036
Больше всего не нравился в твоём исходном варианте, что ты для внешнего и вложенного генератора списка пользуешься одной переменной i. Надо ломать голову, почему это работает. Вот здесь работает, а в других случаях может легко сломать программу. Используй разные переменные, i+j, когда у тебя вложенность есть.

В целом вложенность в генераторах списков не нравится, она всегда тяжело читается, не для этого их делали.

Есть полезный модуль itertools, чтобы не делать сумму нескольких списков, можно так написать
[[0]*i for i in itertools.chain(range(1, 10), range(10, 0, -1))]
хотя в данном случае не сильно меняет
47 1473165
>>73063
>>73093
>>73126
Благодарю за помощь.
48 1473289
Доброго времени :)

Есть две задачи в книге Python Crash Course 2nd edition:

Make a list or tuple containing a series of 10 numbers and five letters. Randomly select four numbers or letters from the list and print a message saying that any ticket matching these four numbers or letters wins a prize.

Решение: https://pastebin.com/UrEpyySa
Здесь все понятно, непонятна мне функция в следующей задаче ,исходящей из первой.

You can use a loop to see how hard it might be to win the kind of lottery you just modeled. Make a list or tuple called my_ticket. Write a loop that keeps pulling numbers until your ticket wins. Print a message reporting how many times the loop had to run to give you a winning ticket.

Решение: https://pastebin.com/dyWEfU8E

Объясните, пожалуйста, что делает функция check_ticket? Понятно, что она сравнивает элементы в массиве, но каким образом возвращается true?

# окей, чекаем каждый элемент в первом списке
for element in played_ticket:
# далее смотрим, есть ли этот элемент во втором списке
if element not in winning_ticket:
# если элемента нет, то возвращаем False
return False
# далее, уже не в теле цикла мы все равно возращаем True
return True

Какой тогда смысл в нашем сравнении? Чет мне кажется, что я жестко туплю.

Спасибо :3
48 1473289
Доброго времени :)

Есть две задачи в книге Python Crash Course 2nd edition:

Make a list or tuple containing a series of 10 numbers and five letters. Randomly select four numbers or letters from the list and print a message saying that any ticket matching these four numbers or letters wins a prize.

Решение: https://pastebin.com/UrEpyySa
Здесь все понятно, непонятна мне функция в следующей задаче ,исходящей из первой.

You can use a loop to see how hard it might be to win the kind of lottery you just modeled. Make a list or tuple called my_ticket. Write a loop that keeps pulling numbers until your ticket wins. Print a message reporting how many times the loop had to run to give you a winning ticket.

Решение: https://pastebin.com/dyWEfU8E

Объясните, пожалуйста, что делает функция check_ticket? Понятно, что она сравнивает элементы в массиве, но каким образом возвращается true?

# окей, чекаем каждый элемент в первом списке
for element in played_ticket:
# далее смотрим, есть ли этот элемент во втором списке
if element not in winning_ticket:
# если элемента нет, то возвращаем False
return False
# далее, уже не в теле цикла мы все равно возращаем True
return True

Какой тогда смысл в нашем сравнении? Чет мне кажется, что я жестко туплю.

Спасибо :3
49 1473290
>>73289

>Чет мне кажется, что я жестко туплю.


this. Она проверяет наличие билета из списка игрока в списке выйгрышных билетов.
50 1473300
>>73289

>все равно возвращаем


Возвращает функция только один раз, дальнейший код не выполняется
51 1473331
>>73300
Это какая-то особенность return или мне стоит повторить if statements?
52 1473333
>>73331
return является концом функции. Тоесть если ты вызываешь return - функция обрывается. Если тебе надо проверить несколько элементов - можешь результат выполнения добавлять в список например, а возвращать уже список:
def check_ticket(played_ticket, winning_ticket):
____loosing_tickets = []
____for element in played_ticket:
________if element not in winning_ticket:
____________loosing_tickets.append(element)
____return loosing_tickets
53 1473346
Хочу импортить как из фласка, или овердохуя откуда, типа:
from pack_name import func1, ClassA, other, etc
Я обычно делаю директорию, в ней - venv и еще одну с таким же именем, внутри - реализация (обычно с тем же именем) и __init__. Через setuptools получается хуйня уровня:
from pack_name.pack_name.pack_name import huinya_name, other
Первый - имя пакета/модуля, второй - имя папки, третий - файл.
Алсо я в терминологии плыву: модуль - тупо .py файл, пакет - директория с __init__, так? Если в setuptools указать именно МОДУЛЬ, не делать директорий, не создавать __init__, получится опять что-то типа:
from pack_name.module_name import func1, func2, etc
Короче как православно запилить пакет/модуль для собственного использования?
54 1473356
>>73031
Тебе надо получить "пирамиду" из списков, где длинна списка сначала растет от 1 до 10, а потом падает от 10 до 1?
Это можно сделать так:

[[0]∗(10-abs(i)%10) for i in range(-9, 10)]

Или даже оформить функцию для произвольных данных:

def get_piramid(value, max_length):
    return [[value]∗(max_length-abs(i)%max_length) for i in range(1-max_length, max_length)]
55 1473461
>>72577 (OP)
Помогите с проблемкой. Осваиваю ООП. Написал код с графическим интерфейсом, который проводит определенные расчеты, на пике часть от этой программы. Сейчас решил представить этот код в виде классов. Создал класс с постоянным полем, который содержит строчки, необходимо вывести эти строчки в главном окне, но если внутри класса передавать аргумент root, то выдаёт ошибку. Каким образом засунуть эти строчки в главное окно? И вообще верно ли я делаю это, может лучше создать класс с атрибутами строка и поле для ввода? Вот ссылка на код, если надо https://pastebin.com/LgtTquDE
56 1473468
>>73461
Не понял что у тебя за ошибка, но попробуй добавить родителей, т.е.:
__init__(self, root): self.root=root
И потом пробуй self.root вместо обычного
57 1473503
>>73461
Ярик, проблема в том, что ты определяешь класс, в котором используешь переменную, которая никак не определена на момент создания самого класса.

Я, к сожалению, сто лет не трогал tk и даже примерно забыл, как там, чтобы оценить остальное и чего дельное посоветовать.
58 1473506
>>73461
Хотя нет, могу что-то посоветовать.

Ты просто вообще неправильно используешь класс.

Ты определяешь labels как переменную внутри класса, а не экземпляра класса. То есть ошибка более глобальная, в понимании судя по всему. Тебе надо скорее всего примерно так:
class lab_ent:
.... def __init__(self, root):
........self.labels = Label(root)
................

a = lab_ent(root)
a.labels.place(...)
59 1473511
>>72577 (OP)
сап,
есть цикл вида
for i in range(x):
В цикле проверяется условие и если оно верно то нужно перескочить на следующее i. Т.е грубо говоря цикл начинается с 0, если внутри выполняется условия я хочу сразу перейти на 2, пропуская 1. Но i += 1 не дает должного результата. Как это сделать?
60 1473518
>>73511
Видимо просто оформить цикл в традиционном стиле
i = 0
while i < x:
____if something: i += 2
____else: i += 1
61 1473519
>>73511
Не меняй итератор в цикле, это плохой стиль. Гляди оператор continue.
62 1473520
63 1473521
>>73468
>>73503
>>73506
Спасибо, буду пробовать
64 1473523
>>73518
Хорошее решение, спасибо.
image.png108 Кб, 1605x892
65 1473674
>>72577 (OP)
Питонисты, помогите пожалуйста выполнить задание A,B,C,D,E
Я не шарю в питоне, вообще
изображение.png29 Кб, 1442x320
66 1473680
что это
какой индекс аут оф ренж в принте
67 1473687
>>73356
Да, именно. Спасибо. Тоже была идея запилить функцию для произвольной высоты "пирамиды", но пока нет такой необходимости.
Впрочем, до использования остатка я всё равно вряд ли бы додумался.
68 1473697
>>73674
Сначала Винду активируй, а потом я тебе уже помогу.
69 1473710
>>73697
Мне лень, честно. У меня есть КМС ауто
70 1473723
>>73674

> Я не шарю в питоне, вообще


Так, а зачем ты тогда это выполняешь?
71 1473729
>>73674
Всё это легко решается с использованием оператора sosnitsque().
72 1473731
>>73729
Увы, он появится только в 3.8.
73 1473737
>>73723
Просто пытаюсь помочь другу, которго ебут по ИКТ
sage 74 1473742
>>73674

> A


print("ALLO {} {} ETO TY POSHYOL NAHOOY IZ {}, YOU WILL DIE ON {}".format(input("Name: "), input("Surname: "), input("Club: "), input("Date: ")))

> B


print("Result of your exam is {}", (lambda n: "A" if n >= 90 else "B" if n >= 75 else "C" if n >= 60 else "D" if n >= 50 else "F")(int(input("Please, enter your mark: "))))

> C


print((lambda name: "Idi nahui, {}".format(name) if len(name) % 2 else "Hello {}".format(name))(input("What is your name?\n")))

> D


print((lambda s: s(print("Enter circle's parameters:"), (lambda x0, y0, r: s(print("Enter point coordinates"), (lambda x, y: "This point is in the circle" if (x - x0)2 + (y - y0)2 <= r2 else "This point is not in the circle")(float(input("X:")), float(input("Y:")))))(float(input("X:")), float(input("Y:")), float(input("R:")))))(lambda a: a[-1]))

> E


(lambda n: print("Area of treugolnik: {}\nArea of kub: {}\nArea of kvadrat: {}\n".format(n
n 3
0.5 / 4, 6 n n, n n)))(float(input("Enter the number:")))
image.png29 Кб, 812x247
75 1473771
Если кто понимает в numpy и pandas,
хочу нормализовать данные формата datatime64 в значения от -1 до 1
нашел такое решение,
https://stackoverflow.com/a/31048949
вроде работает, но я не могу понять, что происходит на этапе, когда данные формата datetime64, полученные из строки, преобразуются в int64
df['A'] = pd.to_datetime(df['A']).astype('int64')
в итоге получается какое-то число, но как она высчитывается и что оно означает я не понимаю,
это вроде как не количество секунд в определенной дате, но тогда что это может быть ?
Код если что взят по ссылке на оверфлоу
image.png64 Кб, 870x654
76 1473877
>>72577 (OP)
Написал маленькое приложение в ООП(по крайней мере пытался). Может кто-нибудь оценить код вообще на верность написания, верно ли я вообще выделил классы и верно ли использую их. На пике то, что выдаёт, вот ссылка на код(буквально 130 строк): https://pastebin.com/aub49PHZ
77 1473892
>>73877
Мои глаза... Им больно...
Я не смотрел весь файл, но сразу что заметил:
1) Имена классов. С заглавной буквы пожалуйста. С маленькой называй методы и функции свои несчастные, а классы надо уважать.
2) У тебя в классах ничего не происходит. Если это ООП ради ООП, то ладно. В практическом плане это хуета. Используй словари.
3) Проиграл с количества переменных, которые тебе в итоге вообще не нужны.

В глазах рябит от файла, дальше пусть кто-то другой советы даёт.
78 1473913
Полный нюфак. Где-то читал что желательно юзать синтаксический анализатор для того чтоб било по рукам когда косячишь. Читая про них наткнулся на код который вообще не понимаю, хотя вроде всё и просто.
https://habr.com/ru/company/dataart/blog/318776/#comment_10190206

Зачем его было переписывать именно так?

>req = urllib.request.Request(url=item, headers=header)



Выглядит как какой-то шитпостинг для меня, а не код. headers=header ну как так-то, чё это ваще? или это просто пример такой?
79 1473919
>>73877
В твоём приложении, по сути, ООП практически нет. Всё, что ты делаешь, можно реализовать и без создания каких-либо новых объектов. Здесь подобное усложнение кажется лишним.
Почитай больше про ООП, попробуй осмыслить и придумать ему более оправданное применение.
Не останавливайся, ты молодец. Почти все так начинали.
80 1473926
>>73913
Неохота вникать во всё, что там обсуждают. Судя по всему, у них обсуждение предупреждений от анализатора, когда подключаются модули какие-то, но не используются. И в комментариях приводятся примеры, как можно подключать какие-то отдельные модули.

Например, ты можешь подключить как
import urllib

и дальше использовать полный путь
urllib.request.Request()

или явно импортировать Request в основное пространство имён
form urllib.request import Request

Request()

>headers=header ну как так-то, чё это ваще? или это просто пример такой?


Это передача в функцию именованных параметров. Вот эти вещи надо изучить и хорошо понимать, они несложные, но в них особая мощь питона, которая отличает его от языков вроде JS/PHP. Тут реально крутые возможности, которых в других языках сильно не хватает.
81 1473932
>>73919
Ну я первый код этого приложения так и написал без классов, а в структурном программировании(так это называется вроде), но решил на примере этой задачи освоить немного ООП. Ладно пойду действительно почитаю побольше. Спасибо за ответ.
82 1473933
>>73892
Понял, спасибо за ответ.
83 1473937
>>73877
Здесь не ООП, а объекты ради объектов. ООП нужно для того, чтобы упрощать жизнь, а ты фактически усложняешь.

Во пример, у тебя есть класс val_float. Но как и все другие твои классы, он не имеет никаких методов, вся его суть в том, чтобы хранить ОДНУ (!) переменную типа float.

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

Вместо
p_H = val_float(entry_p_H)
писать просто
p_H = float(entry_p_H.entry.get())

либо val_float оформить как функцию, которая возвращает float, вот это как раз самое разумное будет.

Надо вникать в математику и логику твоей программы. Скорее нужно создать какой-то большой объект и отдельные методы, один из которых будет отвечать за отрисовку формы, другой за чтение данных из полей, третий за сами вычисления. Тогда у тебя уже будет смысл в ООП, например ты сможешь в любой создать унаследованный объект, в котором переопределить один из методов, например форматирование формы, в то время как остальные останутся прежними. Как-то так, как мне кажется.
84 1473939
>>73937
>>73877
Дополню
вот у тебя есть переменная entry_p_p, это объект класса lab_ent

в другом месте у тебя есть код,
p_p = val_float(entry_p_p)

Вот здесь просто по сути надо создать метод к твоему классу lab_ent(LabEnt, принято так)
class LabEnt:
def get_float(self):
return float(self.entry.get())

Вот это хотя бы будет ближе к ООП, хотя в данном случае ООП не очень оправдано вообще. Но если делать, то вот скорее так.
85 1473941
>>73937
>>73939
От души душевно в душу, спасибо. Насчёт p_H в первой версии кода без ООП я так и писал сразу переменную float(entry_p_H.entry.get()), но решил извратиться и с классами попробовать.
86 1473977
ЕБАНЫЙ РОТ ЭТОГО CELERY И ШИНДОУС
Аноны, помогите ! Короче, при создании пользователя, отправляю запрос через редис, селери его принимает но после кидает -
TypeError("wrap_socket() got an unexpected keyword argument '_context'")

Хз, что делать уже. мне уже хуйово
image2019-09-1522-46-13.png9 Кб, 1851x63
87 1473995
>>73977
СУКА ЭТО ПИЗДЕЦ МАГИЯ НАХУЙ
Как только пошел ныть в прогромач, эта хуйня блять заработала ! Чудо БЛЯТЬ !
88 1474016
>>73977
На такое количество файлов смотреть больно. Но не потому, что ты что-то делаешь не так, а наоборот, что-то не так делаю я.
89 1474027
>>74016
Ты о тех что сверху или вообще в проекте? Так то, это просто тестовый проект из двух приложений, там бывает вообще пиздец.
90 1474046
Какие магические методы я должен добавить в свой класс, чтобы он поддерживал сортировку по определённому атрибуту с помощью функции sorted()? Одних операторов сравнения хватит? Или я вообще перефантазировал, а на практике это никак нельзя реализовать?
15433107236803.jpg48 Кб, 403x604
91 1474047
Есть тут спецы фласка?
Как получить сервисом post-запрос и отправить на него ответ?
92 1474049
>>74046
Хватит одного оператора <
А ещё можно использовать параметр key у sorted.
93 1474053
>>74047
Непонятно, что ты хочешь. Отправить из своего приложения запрос другому приложению (серверу) и получить ответ? Юзай requests.
94 1474055
>>74053
Есть сервис, он запрашивает инфу (1) и получает её (2), потом обрабатывает и что-то отдаёт дальше (3).
Как это можно представить?
Первое и третье - это get и post самого сервиса, а второе - post от стороннего сервиса, приходящий на наш?
95 1474067
Есть файл bot.exe написанный на питоне либо 2,7 либо 3. Нужно декомпилтровать его и получить исполняемый файл. За это заплачу 500р на карту, киви, куда угодно. Готовые взяться пишите в телегу @jdocj
96 1474075
>>74047

> Как получить сервисом post-запрос


Отправить сервису пост-запрос.
>>74055

> запрашивает инфу (1) и получает её (2), потом обрабатывает и что-то отдаёт дальше (3).


Хуйню придумал. Тебе либо фласк не нужон, либо архитектуру меняй.
97 1474104
>>72590
Конкурс-Анон, ты еще здесь?
98 1474198
>>74049
Спасибо.
99 1474208
>>74067
Сначала unpy2exe, потом pyREtic.
Гони мои 500р.
100 1474216
>>72577 (OP)
Какие книги must read новичку? Спрашиваю тут, т.к. ЧАВО не актуально. Дочитываю "Укус Питона" из ЧАВО далее по списку
"Think Python: How to Think Like a Computer Scientist"
101 1474223
102 1474224
>>74216

> ЧАВО не актуально


Актуально
103 1474228
>>74216
Очень сложно что-то посоветовать, особенно для продолжающих.

- разный опыт программирования на других языках
- разная подтоговка по технологиям программирования и алгоритмам
- разная подготовка по информационным технологиям, работой с сетями, графикой и т.п.
- разные цели и направления. Питон это веб, это сетевые сервисы, это обработка данных, это AI/ML. Всё это разные направления.
image.png13 Кб, 342x212
104 1474240
>>72577 (OP)
Антоны, есть список типа

['934871-hui12', '145143-hui32', '376342-hui142', '124365-hui112', '134654-hui2', '123432-hui142', '098674-hui112', '675432-hui012', ........

Пытаюсь отловить по регекспу все элементы, которые начинаются с 1 и содержат 5 числе после 1
[1]\d{5}

Мой код:

for i in hostnames1:
m = re.findall("[1]\d{5}", i)
if m:
#print(m.groups())
print(m)

else:
print("error")
break


Но он всегда возвращает еггог, хотя вхождения точно есть. Пчоему?
105 1474250
>>74240
Не имел дел с регулярками, но звёздочку в конце пробовал?
[1]\d{5}.*
Вот так вроде бы как-то или что-то подобное.
106 1474254
>>74240
Кек, у тебя при первом же элементе, который не подходит под регулярку останавливается итерация.
107 1474256
Анон, подскажи нюфагу с чего лучше начать изучение django чтобы было понятно и нормально написано как запустить, установить, базовые операции и т.д.
я про книги или курсы
Снимок экрана 2019-09-16 в 13.57.51.png462 Кб, 1322x866
108 1474259
>>74240
Так пойдет?

>>74256
С официальной документации, там все расписано в стиле пошагового руководства для самых маленьких.
109 1474262
>>74256
С тутора с офф сайта.
https://docs.djangoproject.com/en/2.2/intro/
110 1474266
>>74259
Явно нет. Первый пикрил.
Второе более рабочий
111 1474270
>>74266
Тоже неправильно.
Я забыл дописать ^[1]\d{5}
112 1474271
>>74266
9123456-hui
У тебя пройдет как валидное значение.
113 1474279
>>74266
Да и 123456x-hui у тебя тоже не пройдет.
114 1474285
>>74270
Другое дело
image.png16 Кб, 711x109
115 1474304
Спасибо, разобрался. Я такой тупой.
116 1474317
Какой либой я могу взять, создать изображение с белым фоном, нарисовать на нем квадратики и круглешки, и при этом иметь возможность преобразовывать это изображение в обычный список трехмерный?
117 1474322
>>74317
Забыл добавить, что скорость тоже важна.
15484030264590.png461 Кб, 600x618
118 1474347
>>74304
Друшака, будь внимательней.
А вообще - нахуй регулярки. Никогда не любил этот неликвид. Что-то сложнее твоего примера очень трудно править. Особенно когда в каком-нибудь роутинге юзается с десятками вариантов значений.
119 1474349
>>74317
python opencv
120 1474376
Бд тред мёртвый, спрошу тут. Знающий, посоветуй годных книг по бд. Заранее спасибо.
image.png23 Кб, 671x339
121 1474379
>>74376
Имхо
Screenshot 2019-09-16 at 4.45.21 PM.png1,8 Мб, 894x1350
122 1474398
123 1474418
Есть ли d flask-sqlalchemy способ автоматизировать добавление в таблицу строк с foreign key, чтобы при надобности в дочерней таблице создавлась нужная строка?
Я что-то такое припоминаю, но на стекоферфлоу говорят такое по умочанию нигде не автоматизируется.
изображение.png22 Кб, 546x399
124 1474431
Приветствую всех гуру математики и графиков итт. Помогите разобраться с задачкой, пожалуйста. Всё что нужно, сместить эту часть влево, а я сколько функции не менял, оно либо пропадает, либо график соединяется.

https://ideone.com/6MV3Y3
125 1474441
>>74431
Ты же знаешь что нельзя построить такой график чтобы для одному иксу соответствовало несколько игреков?
1551007502982.jpg285 Кб, 2048x2048
126 1474448
>>74441
Нормально меня препод подъебнул, потому что пытался со мной решить проблему и оставил с хвостом
127 1474455
>>74441
Можно, он не обязательно должен описывать функцию. Уж формулу эллипса или там круга ты точно видел.
128 1474462
>>74448
Ты бы хоть задание описал немного. Тебе график функции, разрывной в x=2 и x=3 нужен?
изображение.png23 Кб, 628x416
129 1474482
>>74462
Думаю нужно чтобы второй элемент находился в этом промежутке от 1 до 2, представляю теперь как-то так. Но сжать на практике не получается
130 1474494
>>74482
Как вариант - умножить аргумент в cos(x) - 3*sin(x) на какое-нибудь положительное число, чтобы "сжать" график по оси x. Ну и твоё условие в func2 под это подогнать.
131 1474497
>>74455

> Уж формулу эллипса или там круга ты точно видел.


Это не формулы. А эллипс и круг это не графики.

мимо
132 1474534
Подскажите библиотеку для визуализации данных.
Мне нужно визуализировать данные с крипторынков, разные графики, свечи, объемы и прочее дерьмо.
Знаю про https://bokeh.pydata.org
Но может есть что-то лучше для моих целей?
133 1474535
Юзаю питон для написания автотестов, возникла задача в рамках теста поднимать мок-сервер, чтобы поймать запрос тестируемого приложения и подсунуть ему готовый ответ. Есть ли какие готовые библиотеки, чтобы это легко сделать?
мимотестировщик
134 1474536
>>74534
Ты совсем еблан? Загуглить не можешь?
>>74535
requests-moсk гугли такое
135 1474537
>>74534
Я обычно графаной визуализирую, но это не библиотека, а отдельное приложение, тебе наверное не подойдет.
136 1474539
>>74537
Знаю, приложений для визуализации тьма. Таблеу всякие итп. Но я хочу питоновским способом сделать.
137 1474541
>>74534
Matplotlib, Seaborn, Excel
138 1474551
>>74224
Там ни слова про книгу "Изучаем Python" Марка Лутца, хотя она повсюду как одна из лучших для начинающих. Есть тут люди, которые шарят, знакомы с литературой? Также вопрос по SICP. На самом ли деле это такая годнота?
139 1474553
>>74536

>requests-moсk гугли такое


Если я правильно понял, это для юнит-тестов питоновских приложений. А у меня тестируемые приложения некоторые на яве, некоторые на го, на питоне пишу автотесты.
140 1474554
>>74551
Начни с чего попроще. Я начал вообще с "Python. Введение в программирование"
Линк => https://younglinux.info/store/store.html
Супер понятная книга.
Могу конечно скинуть книгу, но блин, она всего 39 рублей стоит.
141 1474561
>>74551
Столько воды, сколько в Лутце, даже в моём дипломе не было.
Мне зашла книга "Программирование на Python 3" Саммерфилда. То же самое, но сжато.
142 1474871
>>74553

>некоторые на яве, некоторые на го, на питоне пишу автотесты


Так что у тебя и как тестирует? Подробней немного распиши.
143 1474939
>>74871
Есть приложения, которые пишут программисты на яве и го. Я пишу автотесты для этих приложений на питоне. Приложения взаимодействуют с базами, а так же иногда между собой по http. Отправить мой запрос приложению я умею, но в некоторых случаях приложение отправляет запрос само. Вот эти запросы от приложений мне и нужно перехватывать и подсовывать заготовленные ответы. Я могу редактировать конфиги приложений, чтобы направлять их на выполняющий тесты компьютер, но я не могу изменять код приложений, они разворачиваются на тестовых серверах в уже скомпилированном виде.
144 1474942
>>74939

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


Я бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им.
Но я не тестировщик, я бэкэндер, так что хз на сколько это правильно, но других вариантов я не вижу.
145 1474944
>>74942

>Я бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им.


Я вот думал, что кто-нибудь уже запилил для этого библиотеку, чтобы не писать это самому, и как раз поинтересовался.
146 1474950
>>74944
Ну, по факту тут либа есть - любой хттп сервер, хоть из стандартной либы бери(кстати норм идея) и всё. Всё равно ж данный и роуты кастомные.
147 1474993
Народ, поможайте, совсем не понимаю.

Задача, есть какая-то консольная прога, которая раз в секунду выдаёт сообщение в stdout. Работает она очень долго.

Надо, запустить её из питоновского скрипта через asyncio, и по ходу того, как прога что-то выдаёт, читать это и обрабатывать.

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

Много чего пробовал, не получается никак. Это с asyncio вообще возможно сделать? Без были пути с fcntl, но тут походу даже и так нельзя.

Заебался, сил нет.
148 1475000
Привет, пытаюсь залить приложение Django на хостинг. Весь функционал в порядке, только не загружаются static и media файлы. Хостинг на nginx. В консоли видно что идёт запрос в папку www.site.ru/static/... Как можно настроить загрузку файлов хостингом?
149 1475002
>>75000
В nginx настроил пути для медиа и статики?
150 1475016
>>74993
Выглядит как задание студента. Это под линухом нужно? Перенаправь вывод проги в файл и читай оттуда, не вариант?
151 1475017
>>75016
Хотя про студента я наверное хуйню спизданул.
152 1475027
>>74223
Конкурс-анон, ты еще проводишь свой конкурс, с тобой можно как-то связаться?
chainsaw.jpg18 Кб, 300x500
pythonchallenge 153 1475051
А кто-нибудь pythonchallenge проходил? Начал и застрял на четвертом задании. Просто не могу понять что нужно сделать.
Когда жмешь на картинку выдает: and the next nothing is 44827.
А в коде страницы указано: <!-- urllib may help. DON'T TRY ALL NOTHINGS, since it will never
end. 400 times is more than enough. -->
ЧТО тут нужно сделать? Как я разберусь, а вот про ЧТО у меня нет понятия.
Ну и картинка из этого задания
15605371105930.jpg51 Кб, 720x597
154 1475091
Анон, помоги советом.
Есть куча строк- словарей вида {"a": "val1", "b": "val2"..."z": "val26" }.
Их все надо превратить в один новый словарь, т.е.
1. Взять значение val2
2. Проверить, есть ли такой ключ в новом словаре
3а. Если нет, то создать ключ val2, а значением будет старый словарь целиком (без удаления "b": "val2" )
3b. Если ключ такой уже существует, то добавить значение к уже существующему по этому ключу. Т.е. будет что-то типа
{"val2-1": {"a": "val1-1", "b": "val2-1"..."z": "val26-1"}, "val2-2": {"a": "val1-2", "b": "val2-2"..."z": "val26-2"}...}
Tablitsa-dopuskov.-1.jpg643 Кб, 1203x964
155 1475094
Анон, подскажи, есть идея сделать легковесную программу для определения полей допусков по квалитетам и диаметру, ну и в обратном порядке, как в любом CAD-e вроде КОМПАС, SolidWorks.
В какой структуре данных лучше хранить такую таблицу, чтоб можно было искать пересечения квалитетов и диапазонов диаметров? Может, библиотеки какие есть для упрощения такого поиска.
156 1475142
>>75027
Я тут сижу , не ссы, так что сюда пиши или почту свою оставь. Конкурс как таковой не случился, ведь участников набралось лишь 2.
>>75094
Ну обычно вся математическая хуйня делается через scipy. Для начала найди подходящий тебе метод, а там уже структуру данных узнаешь.
157 1475144
>>75091
Делай рекурсивное обновление, типа
def recursive_update(d, u):
for k, v in u.iteritems():
if isinstance(v, Mapping):
d[k] = recursive_update(d.get(k, {}), v)
else:
d[k] = v
return d
158 1475203
>>75094
Эксель чем тебе плох?
159 1475205
>>75203
Ты предлагаешь хранить эту таблицу в экселевском документе и парсить каждый раз в пайтон?
Начал читать по пандас датафреймы, похоже, лучший вариант?
160 1475207
>>75205

> датафреймы, похоже, лучший вариант?


Если затем этот тип тебе подойдёт - то да
161 1475269
>>75051
На форуме у них есть разбор каждого из заданий, мб ты просто туда сходишь?
image.png92 Кб, 187x269
162 1475275
прошу наставлений у опытных анонов по джанге
аноны, есть такое задание: необходимо создать службу для учеников и учителей. своеобразная система рекрутинга чтоли. на главной надо будет выбрать за кого мы хотим зайти: за учителя или ученика (авторизоваться никак не надо, тупо редирект на другую страницу). если выбрать ученика, то необходимо отобразить страницу где будет форма которая содержит: имя, возраст, город, емейл где он жмет далее и затем сохраняется в базу данных. затем ему высвечивается три вопроса (на которые можно тупо true или false ответить для простоты) и затем уже жмем далее и его обратно выбрасывает сохранив ответы на вопросы в бд.
если же нажать на вкладку для учителей на хоум странице, то надо отобразить ему страницу где он выберет себя из списка учителей (имя, город), далее отобразить список учеников которые прошли тест в его городе, где может посмотреть ответы каждого ученика и есть кнопка зачислить ученика и затем уже добавляет его в бд зачисленных учеников.
так вот, чо стоит курить чтобы это реализовать? чет основных данных которые я нашел в оф доках и в книге на пике не оч хватает
163 1475278
>>75275
Курить надо фласк/джангу
164 1475286
>>75278
Блять, точно, ты по джанге и спрашиваешь.
1. Офф доков должно хватить, ведь там же есть годный пример.
2. Как по мне, норм кинига - антонио меле(и похуй что для старой джанги). Чуть выше, в треде, советовали ещё другого автора, полистай.
165 1475291
>>75286
почему то мне не хватает их для создания вероятней я просто тупой и долго гружусь, а по повуду книги в треде - увы ничего не нашел
166 1475295
>>75291

> почему то мне не хватает их для создания


Ты их выполнил, примеры эти?
167 1475304
>>75295
только тутор, остальные не мог(либо половина либо уже где 90% было сделано) потому что джанго начинал мозги мне ебать и показывать что ошибка в синтаксисе хотя с ним все ок было
168 1475311
>>75304
алсо, трабл в том что нигде нормально не объясняется что такое модели, формы и вьюхи из за чего я не могу понять просто что от меня нахуй требуется и из чего стоит сделать модели, на основе них сделать формы и как связать с вьюхами и сделать все это через нормальный адекватный редирект
169 1475333
>>75311
Модели - таблицы в БД. Как и на основании чего строить модели - отдельная тема о высоких материях.
Вьюхи - твой бэк для HTML страниц, если просто.
Формы - ну собсна твои формы, по которым тыкает юзер и что-то выбирает.
>>75304

> только тутор


Поиграй с тутором, поизменяй разные параметры/поля, кастомизируй его.
170 1475377
>>75333

>Поиграй с тутором, поизменяй разные параметры/поля, кастомизируй его.


думаешь что это поможет мне выполнить задание ?
171 1475380
>>75377
Задание у тебя простое, для того что бы его выполнить, тебе нужно понять суть, поигравшись с примером ты, возможно, найдёшь зависимости и постигнешь дзен.
172 1475394
>>75380
ну вот постепенно начинаю понимать что то
модели - это мои ученики (с данными в виде города возраста, имени,емейла) и учителя(город, имя)
вьюхи - это то чтто будет выводить на экран
форма - это выбор в виде ответов на вопросы или же на главной где меня редиректит
все верно?

>Задание у тебя простое


да я понимаю, но как реализовать все это через джангу пока трудно понять. если бы сказали на питуне сделать было бы в разы проще
173 1475401
>>75094
Зачем тебе хранить таблицу? Считай допуск сразу по размеру и квалитету (единица допуска величина расчетная).
174 1475404
>>75394

> все верно?


В общем и целом - да. Если это учебное задание, то точно да.
Но я бы ещё рассмотрел такой вариант: сделать ученика и учителя как одну модель, выставив только тип(ученик/учитель).
175 1475408
>>75401
Можешь поделиться ссылочкой? Получил машиностроительное образование, работаю инженером-технолухом на заводе и никогда не слышал про такой расчет. Всю жизнь поля допусков беру по справочникам. Что-то мне подсказывает, что ты заблуждаешься.
176 1475435
>>75275
Это тестовое задание в компанию какую-то? Потому что у меня было точно такое же, один в один, задание, но с другими сущностями.
177 1475514
>>75408
Ну пиздец. Привет, коллега. Неожиданная встреча.
Читай любой учебник по метрологии Анухин - Допуски и посадки. Можешь начать с https://ru.wikipedia.org/wiki/Допуск#Квалитет

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


Это просто в справочниках уже величину поля допуска посчитали для тебя для каждого диаметра.
179 1475583
>>75579
Не sqrt, а math.sqrt
Unti222tled.png12 Кб, 500x288
180 1475589
>>75583
я же импортировал math
попробовал
181 1475598
>>75579
а чому у тебя объявление функции внутри цикла
182 1475603
>>75598
а шо, так нельзя?
183 1475606
>>75589
Либо пиши, как надо - имя_модуля.имя_функции, либо используй from math import *.
wwew.png27 Кб, 575x749
184 1475608
>>75598
на, но лучше работать не стало
185 1475609
>>75589
А что ты ожидпл от квадратного корня из отрицательного числа?
186 1475615
>>75609
Вот это совет уже, спасибо, ща настрою
187 1475628
>>75579
Зачем и куда yfunc у тебя возвращает False? Это нахуй не надо. И всё можно оформить через обработку ZeroDivisionError, хотя бы ради стимуляции обучения. Раз уж учишь Питон, то почитай про исключения, ибо они тебе в перспективе могут понадобиться.

>>75608
Оно и не станет работать лучше, потому что функция sqrt() у тебя так и не определена.
wwew.png54 Кб, 785x747
188 1475634
>>75628
Я не хочу быть программистом, если уж прям надо будет, то как-то само найдётся, прочитается. А вообще спасибо.
>>75609
Спасибо, дружок пирожок. Всё работает.
189 1475640
Опытные подскажите, я как полный ноль решил начать изучение питона с лутца изучаем питон, но начав читать решил , что перейду к этой книгище позже, по советам решил почитать the byte of python, но на русский переведена она только для питона 2, так вот вопрос, принципиально ли для меня новичка, что я прочитаю эту книгу по 2 питону, когда все настоятельно советуют работать по 3
190 1475641
>>75640
да принципиально, второй питон считай атавизм
191 1475709
анон как мне отобразить по нормальному страницу со списком учителей где я могу выбрать себя ? в гугле нет нихуя
>>75275 - кун
192 1475710
>>75435
да все верно, тянка кадровик просто друг скинула, типо мол попрактикуйся пока на таком, прежде чем пытаться в бек энд вкатываться
.gif1,3 Мб, 454x250
193 1475735
>>75603
Пиздец.
pic.png65 Кб, 1195x348
194 1475743
Ребята, мне тут нужно кинуть джепег на api post запросом в multipart/form-data'e. Если отправлять картинку через вебморду в теле запроса джепег выглядят в таком виде (пик), и это окей, api его сжирает без проблем. А когда я сам пишу запрос я просто не могу прочитать картинку в таком чарсете (или что это с всякими ÿØÿà), тоесть открываю ее стандартным open(path).read и получаю все в хексе, который api сожрать не может. Короче говоря, как мне прочитать картинку чтобы она была как пикрелейтед?
195 1475754
>>75579
Это тебе не С
Если import math, то используется math.sqrt
Если from math import sqrt то sqrt
Если from math import * то sqrt так же, но это плохой вариант.
196 1475761
>>73771
бамп вопросу
197 1475782
>>75709
Во воьюхе обращайся к модели, выгребай учителей, передавай список в хтмл файл, там по списку пробегайся и выводи список по элементу.
Но ты всё ещё не понял фишки и сути, так что ...
198 1475783
>>75743
Вроде ж в base64 надо картинку декодировать, разве нет?
199 1475820
>>75640
Читай на английском, она очень простая, по сравнению со всякими серьёзными книгами. Гуглом переводи если что.
200 1475834
>>75735
Дед, это замыкание, выкатывайся из айти
201 1475900
>>75782

>передавай список в хтмл файл, там по списку пробегайся и выводи список по элементу


а как конкретно это сделать? остальные два пункта сделал, но в этом теперь проблема из за чего просто выводится пустая страница с заголовком СПИСОК УЧИТЕЛЕЙ
202 1476057
>>75900

> а как


Лучше ещё раз изучи мануал, там такое есть.
203 1476136
>>75514
Окей, сам уже вчера нашел после того, как написал ответ.
Нашел ещё на гитхабе калькулятор овз какого-то казаха, вот он тоже тупо все отклонения в массивах держит. Но там все на js написано (сложно в коде разобраться), зато по-богатому мультиплатформа.
204 1476142
Где изучить ебучий flask? Нашел книгу, но она для питона 2.x. И нет, мне не нужна джанга
206 1476149
>>76146
очевидно, что я такие тупые вопросы задаю из-за не знания ангельского
207 1476151
>>76149
тогда соответственно можешь сосать
208 1476152
>>76151
Буду сосать...
209 1476159
>>76149
Наверняка есть какой-нибудь перевод. Возможно, не такой уж и древний. Или гуглить ты тоже не умеешь?
210 1476161
>>76159
Умею. Просто, хуй его знает. Привык, что беру все из ссылок в ОП-посте.
211 1476165
>>76161
Хз, ни разу туда не заглядывал.
Ну, если совсем всё плохо, в чём я сомневаюсь, есть плейлисты на ютубе на русском.
212 1476171
>>76149
лолблять, там базовый английский
у нас в вузе немецеий преподавали и даже я разобрался
пиздец ты дегенерат
213 1476193
>>76149
Ну и нахуй ты пошел flask изучать? У тебя прямо сейчас два варианта: изучать английский или изучать 1С. Одно из двух.
15618976982480.png28 Кб, 151x168
214 1476410
>>75144
Спасибо.
Ещё одни вопрос с комплексными словарями.
Как преобразовать словари вида:
a = {123: [{key1:2, key2:5, key3:7},{key1:3, key2:8, key3:1},{key1:6, key2:9, key3:4}]}
к виду
b = {123: {key1:[2, 3, 6], key2:[5, 8, 9], key3:[7, 1, 4]}}
Т.е. перейти от value в виде списка словарей к value -словарю со значениями в виде списков?

Пытался циклами, запутался:
for k, v in a.items():
--for val in v:
----for k1, v1 in val.items():

А дальше хз
0.png7 Кб, 149x122
215 1476456
Как сделать так, чтобы функции выполнялись одновременно в цикле?
216 1476466
>>76456
Ты забыл функцию с "Джигурда"
217 1476471
>>76410
tmp = dict()
for k,v in a items:
__if not k in tmp: tmp[k] = [v]
__else: tmp[k] = tmp[k].append(v)
Тебе нужно, что-то наподобие для каждого словаря.
218 1476472
>>76471
Спасибо.
То есть по факту у нас будет новый словарь с заданной структурой?
219 1476473
>>76471
Да.
220 1476475
221 1476481
>>76456
Зависит от того, когда именно ты хочешь писать "хуй", а когда "пизда". Если это зависит от определённого условия в цикле, то всё можно оформить в одну функцию, а то и обойтись вообще без неё. Ну а если тебе просто нужно, чтобы он печатал "хуй" через одну секунду, а "пизда" - через 4 после "хуй", то пиши
time.sleep(1)
print('хуй')
time.sleep(4)
print('пизда')
Либо кури threading, если не подходит ни то, ни другое.
222 1476508
Анонасы, поясните дебилу, нахуй в tkinter завезли кучу говна для разметки? pack, grid, place?
Я вот допустим, хочу сделать шахматное поле, но не могу понять, как его лучше разметить. Очевидно, grid должен быть удобным, для реализации, собственно самой игры, но вот я не знаю, есть ли вариант объект(PhotoImage) двигать по гридам в дальнейшем. Пока читаю, но буду благодарен, если кто напишет/распишет за этот момент, и даст совет. Знаю про PyGame, PyQt и т.д., но захотелось навернуть говна.
223 1476522
>>76508
Это всё тебе не нужно, тебе нужен canvas.
a.png42 Кб, 500x772
224 1476525
>>76481
>>76456
asyncio надо курить
http://ideone.com/S1UtME
225 1476537
>>76522
Почитаю, но пока, как я понял, canvas комбинируется с тем же pack, если нужно изображение вывести?

Пока фон так сделал https://pastebin.com/u8hGKX6c
226 1476571
>>75820
Книга оказалось для 3 питона , проста сама версия книги типо 2.0, думаю много людей это сбило с толку.
227 1476633
Привет анон, посоветуй плиз литературы по парсингу сайтов.
228 1476719
>>76633
В прикрепленных к оппосту ссылках есть скрапинг данных. + Почитай за селениум и скрапи
229 1476725
>>72577 (OP)
Привен анон, хелп плиз. написал скрипт:

import os

path = os.getcwd()
folderNum = int(input('Enter a number of folders: '))

for number in range(folderNum):
path = path + os.sep + str(number) + os.sep
os.mkdir(path)
print(number)

Он создаёт директорию вложенных папок, в папку вместе с скриптом. Скрипт работает, но проблема вот в чём: хочу запустить через CTRL+R - имя скрипта.
Добавил папку с скриптом в Path, создал bat, запускаю скрипт, он запускается, ввожу input, но папка не создаётся (ожидается что она появится в папке где лежит сам скрипт).
Чувствую что проблема в os.getcwd, что через пуск она по другом себя ведёт.
230 1476786
>>72577 (OP)
Каков типичный портрет питониста(внешка,поведение и т.д)?
231 1476795
>>76725
Я проверил, у меня работает. Правда я в path ничего не добавлял, а запускал по win+r -> c:\test\run.bat

Не понимаю что ты хочешь в общем. Выведи принты на разные этапы, что бы понять на каком этапе у тебя происходит некоторое дерьмо
232 1476837
сап, погромисты. Есть вот такая задачка
https://www.codewars.com/kata/next-smaller-number-with-the-same-digits/python

Я ее решил как на втором пике и числа любых размеров сразу кучей он считает за доли секунды. Пишу тоже самое на сайт - в автоматических тестах получаю ошибку, мол дохуя думает, хотя там ничего сверхсложного нет. Это проблема сайта, или у меня что-то не то?
233 1476881
>>76837
Что-то мне подсказывает, что существует алгоритм в разы более быстрый - без необходимости сортировки и прохода цикла огромное число раз за счёт уменьшения исходного числа на единицу (!).
Как вариант - просто переставлять местами последний и предпоследний разряды в исходном числе. Если получается число меньше исходного - возвращаешь его; иначе возвращаешь -1.
234 1476886
>>76881
Не последний и предпоследний, а от последнего к первому в цикле. Всё равно получится быстрее.
235 1476936
>>75743
>>75783
В итоге оказалось что апи жрет картинку в ISO 8859-1.
236 1476963
>>76837
У тебя чудовищно неоптимальный алгоритм, и неверный.
Вот для числа 100000000 он должен вернуть -1, нет такого числа.

Сколько времени твой алгоритм будет работать для числа
19000000000000, где следующее число будет
10900000000000?
Очень долго. А в условии сказано, что числа могут быть очень большими, то есть там могут быть десятки тысяч знаков уж точно.

Всё проще делается.
237 1476973
>>76881
Сложнее, но направление мысли верное.

Если число представить в виде
префикс + суффикс
сколько-то разрядов префикса, сколько-то суффикса, то

1) суффикс не может быть уменьшен только в случае, если он отсортирован от меньшего к большему, вот как тут
00015589
это минимально возможное число.

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

Если в суффикс попало всё число, и по итогу получилось, что старший разряд = 0, то возвращаем -1. Ну либо если итоговый суффикс всё равно не уменьшаем.
238 1477032
>>76837
Можно же разбить число на массив, сортирнуть, сравнить с исходным, если получилось другое число возвращаем его, если нет или в начале 0 то -1?
239 1477038
>>77032
В этой задаче надо найти наибольшее из чисел, меньше исходного, и если такого нет, то вернуть -1. А если есть, то вернуть найденное число.
240 1477107
Сап. Год назад проходил 2 курса по Python на Stepik. Дошёл до более-менее хорошего уровня, разобрался с ООП, регулярками, работой с API, но сейчас забыл почти всё.
Посоветуйте, что делать, чтобы вспомнить весь материал? Снова пройти курсы? Или начать читать литературу для новичков из шапки?
241 1477419
>>76837
Генерация всех перестановок и попутный поиск наибольшей из тех, что меньше исходного числа?
242 1477423
>>76795
Я создал по гайду bat так, чтобы вводам имени скрипта в CTRL+R, скрипт запускался. Не c:\test\run.bat, а CTRL+R > run. Скрипт запускается таким образом, но папка не создаётся.
Наткнулся на наводку: есть разница между рабочей папкой, и папкой откуда запускается скрипт - я этой разницы не понимаю. Вместо os.getcwd() можно использовать os.path.dirname(os.path.abspath(__file__)).
243 1477466
>>77107
Быстро вспомнить синтаксис и основы языка мне помогал learnxinyminutes, погугли, там много языков есть и питон тоже. На code wars затем задачи можно поделать, я через них много бест практисез языка узнал, когда смотрел после задачи чужие лучшие решения. Ну и делай затем что-то сам, а там остальное вспомнишь по мере необходимости.

Так-то можно и книжку, но это на любителя, я бы второй раз продираться через воду Лутца не рискнул.
244 1477694
Сап, программач, есть проблема. Недавно начал осваивать ботов в для телеги, и столкнулся с тем, про при запуске бота в консоли получаю тысячу и одну ошибок. Код рабочий, интерпретатор переустановил, библиотеку обновил, но пиздец остался. Что делать?
245 1477695
>>77694

> Что делать?


Нести ошибки сюда?
пиздец.png146 Кб, 1336x1080
246 1477696
>>77695
Ах да, скрин отклеился.
247 1477697
>>77696
Видать роскомнадзор забанил или ещё что-то. Как видишь по коду - не может законектиться.
248 1477699
>>77697
Ну или ты неверные параметры для прокси/ещё чего вводишь.
249 1477700
>>77697
>>77699
А как тогда сделать так, чтобы всё было правильно? Можете краткий гайд дать?
250 1477702
>>77700
Нужен код, как минимум.
252 1477716
>>77706
Мда.
Запускаешь у себя на компе? У тебя телега открывается нормально?
253 1477718
>>77716
Да, запускаю на компе, и телега работает нормально.
2019-09-20150530195.gif213 Кб, 182x152
254 1477723
Аноны, нахуй изучать Питон? Там изучать то нечего, это ж как HTML по сложности, самый простой язык программирования из всех. Я питон изучил за 1 день на codeacademy.com. Особые фичи питона вроде лямбда функций и всякого хитрого синтаксиса можно понять просто интуитивно, или загуглить за 2 минуты. Правда я еще C/C++, PHP и Java знаю, может поэтому мне проще изучать.

В любом случае, я вас уверяю, питон - самое простое, что может быть в мире программирования. Не нужно читать никаких книг. Проходите курс на codeacademy.com за пару часов - всё, считай ты знаешь Python.

мимо-создатель игры на PyGame
t.PNG3 Кб, 471x75
255 1477728
>>77696
Телега заблочена. Я юзаю прокси от тора.
256 1477730
>>77718
Короче, делай в любом случае через прокси, у меня телега запускается, а к апи бота не обращается. Погугли свободные прокси и как в библиотеке реквестс прописать прокси.
257 1477736
>>77723

>питон - самое простое, что может быть в мире программирования


Ниет. Самое простое у байтоебов это ассемблер, а у скриптоблядков самое простое это форт.
258 1477738
>>77723
С каких пор ценность языка определяется сложностью изучения, да ещё и прямо пропорционально?
259 1477740
>>77738
Да я не спорю что питон очень ценный. Питон охуенен

Просто в этом треде дохуя постов о том, как ИЗУЧАЮТ питон по каким-то книгам.... нахуй настолько простой язык изучать по книгам. Все обучение питону умещается на 2-х страницах текста
260 1477743
>>77723
ты опять из загона вылез, /gd/блядок?
261 1477748
>>77740
Ну, если рассуждать с этой позиции, то на изучение синтаксиса вместе со встроенными функциями, типами и соответствующими им методами у человека, знакомого с программированием, может уйти меньше дня.
Я плохо знаком с литературой по Питону, но могу предположить, что в хорошие книги по нему вполне могут быть добавлены примеры работы со встроенными/сторонними библиотеками и прочие полезности. Остальные же из них рассчитаны на новичков, которые с программированием знакомы чуть менее чем нисколько.
262 1477749
>>77730
>>77728
Всё сделал, всё работает, спасибо за помощь. Пользовался telebot.apihelper.proxy = {'https':'socks5://username:password@adress:port'} если что.
263 1477764
>>77723
Где исходники смотреть?
.gif1 Мб, 290x189
264 1477834
>>77723

> Я питон изучил за 1 день

265 1477948
>>77764
если ты про игру
исходники и уроки по ним здесь
pygame-dev.blogspot.com
266 1477957
>>77834
Чего ты смеешься? Питон реально за 1 день изучается, если ты уже знаешь хотя бы C++, Java.

На хабрахабре даже есть какая-то статья, в которой питон на одной странице поясняется.

Хотя если ты не знаешь других языков и не понимаешь принципов ООП и вообще как работает программирование, то потребуется больше одного дня, да...
267 1477969
>>77743
в /gd загоне меня гнали в этот загон, крича о том что именно кодинг обсуждают в /pr-загоне, отсюда гонят туда... из загона в загон...

Алсо, я прекрасно знаю python, так что вполне подхожу в тред о python-программировании
268 1478117
>>77957

>Питон за 1 день


>На хабрахабре


Нужно быть немножко тоньше.
Даже если ты пришёл с большой панамкой, чтобы просто набрать хуёв.
269 1478136
Ебать, всего-то тредов 5 перекатилось и меня додумались в шапку добавить, вау...
270 1478157
>>78136
Шапка не так давно зародилась(в том виде, в котором сейчас), так что не ссы
sage 271 1478193
>>77969

>обсуждать кодинг


откуда такие дауны берутся
272 1478199
>>77948
Пидор, исходники твоей параши где смотреть?
273 1478207
>>78199
ты слепой чтоли? там в каждом уроке в самом начале ссылка на Github и Архив с исходниками
274 1478208
Есть значит массив вида [1, [2, 3], 4, [5, [6]]] надо на выходе получить [1, 2, 3, 4, 5, 6]
как такое сделать?
275 1478209
>>78207
ебать ты жирнич так ты же хуже червя-пидора ты копипастер!!!!111
выучил он пиздон за 1 день охуеть /gd/дебилы пробил очередное дно
276 1478210
>>78208
Дать по ебалу тому, кто писал код до тебя.
277 1478212
>>78210
Это задача такая для ньюфагов.
278 1478216
>>78212
Ну так и решай её сам, а то так ньюфагом и останешься.
279 1478223
>>78209

>ебать ты жирнич так ты же хуже червя-пидора ты копипастер!!!!111


>выучил он пиздон за 1 день охуеть /gd/дебилы пробил очередное дно



Ты объебанный чтоли? Пишешь так, словно ты под бутиратом каким-то
280 1478236
>>78208
Делаешь функцию, которая из имеющегося списка всё аппендит в новый, но если она встречается список вместо числа, то вместо аппенда вызывает сама себя на этот список.
pydoro.png20 Кб, 637x323
281 1478250
14227841313063.jpg30 Кб, 472x416
282 1478254
283 1478291
>>78208
import json
m = [1, [2, 3], 4, [5, [6]]]
out = json.loads('[' + json.dumps(m).replace('[', '').replace(']', '') + ']')
284 1478292
>>78291
хотя тут баг, если на входе будет
m = [1, [2, 3], 4, [], [5, [6]]]
то упадёт
285 1478300
>>78291
>>78292
fixed:
m = [1, [2, 3], 4, [], [[], [], [[]]], [5, [6]]]
out = json.dumps(m).replace('[', '').replace(']', '').replace(',', '').split()

В задаче, конечно, хотят, чтобы решали через рекурсию. Но это не интересно, скучно. По-моему это делается даже проще самыми штатными средствами питона, но сейчас не понимаю.

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

Но для обучения лучше сделать как положено.
286 1478306
>>78117
Похуй что наброс.

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

Язык это не только синтаксис, это ещё и масса практик, как на этом языке грамотно писать. А это уже времени требует и реального опыта.
287 1478334
>>78300
А если там не числа?
m = [1, ["[2]", "]"], "["]

Да и json тут не нужен, хватит str/eval.
288 1478349
>>78300
Да это фигня какая-то, там же вообще могут быть произвольные объекты. А рекурсия новичкам как раз должна быть интереснее, чем твоё решение
289 1478385
Возник такой вопрос.
Мне нужно в __init__ передать неопределенное количество аргументов, например:
className("1", test="3", procedure="10"), с учетом того, что test/procedure - это рандомные имена.
Как это сделать? Гуглил по поводу super, но не смог врубиться. Спасибо за помощь.
foobar.png6 Кб, 511x140
290 1478416
>>78385
Тебе нужны функции с переменным количество аргументов, копай в сторону args и kwargs.
291 1478435
>>78416
Пробовал, но выбивало ту же ошибку.
292 1478438
>>78435
Просто, видимо, kwargs работает именно с функциями(или я не разобрался), а мне нужен метод __init__
293 1478507
>>78435
Написал бы хоть, какую именно "ту же ошибку". По твоему описанию необходимо что-то вроде __init__(self, arg, kwargs), что лично у меня работает без проблем.
294 1478508
>>78507
kwargs
фикс
295 1478510
>>78507
Заебись, двач сожрал две звёздочки перед "kwargs".
296 1478561
>>72577 (OP)
Кто работал с FreeCAD помогите плез. Буду очень благодарен за помощь. Пытаюсь импортировать FreeCAD в python. Но выдаёт ошибку, что модуль не обнаружен. Делал всё по инструкции по ссылке https://habr.com/ru/post/464113/#III , а так же еще 200 различных вариантов с указанием пути(как на втором пике). У меня установлен python 3 и FreeCad 0.18.
297 1478563
>>78561
1, Разве так эта херня работает? Сколько раз юзал фрикад - писал скрипты именно для внутреннего запуска из фрикада.
2, Версию для 3 пистона подвезли? Вроде ж только вторая была.
298 1478574
>>78563
1. Ну насколько я понимаю можно как из фрикада юзать, так и использовать фрикад как модуль импортируемый
2. Вроде как да, по крайней мере вот ссылка https://www.freecadweb.org/wiki/Python_3 с их же сайта, но пока что вариант, что это ошибка из-за разных версий питона тоже рассматриваю.
299 1478576
>>78507
Беру свои слова назад, видимо я дурак и как-то криво написал код. Все теперь работает, спасибо.
img.jpg29 Кб, 756x294
300 1478668
Читаю Python Crash Course и чет запнулся на datetime. https://pastebin.com/ptiH1NY3

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

Вот есть у меня такой отрывок:
for value in reader:
date = datetime.strptime(value[2], '%Y-%m-%d')

Написано, что первый аргумент это строка, а второй это то, как данные представлены в строке. Иду в свой csv и вижу: 7/1/2018. Ну, я и пишу %m/%d/%Y. Вылетела ошибка, сделал как в книге '%Y-%m-%d и все работает. Бля, ну хоть дотукался посмотреть что print(value[2]) выдает, а там 2018-07-01. Почему так?

И еще, гуглил, там кидали ссылки на документацию. Мне идиоту ничего непонятно, как быть. Я читаю и понимаю, что ничего не понял.

Спасибо :3
image.png10 Кб, 441x130
301 1478782
>>78668
Вылетающую ошибку анон должен гадать?
Всё ок работает.
У тебя либо проёб в представлении данных или ищё что
sage 302 1478809
>>78668
Тебе твой эксель показывает не то, что в файле на самом деле. Смени представление данных у столбца на текстовый формат, например, и ты увидишь.
303 1478817
Анон, скажи ньюфагу как синтаксически должен выглядеть тудулист, я просто представить не могу как его правильно оформить.
304 1478833
>>78817
чаво блядь? ну поищи туду лист на гитхабе увидишь синтаксес епта нах чедух ебана
305 1478885
>>78782
>>78809
Спасибо, друзья. Проблема как раз и была в представлении данных.

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

decision = False
while not decision:
some code
some code
some code
decision = checkpoint()
some code
decision = checkpoint()
some code
break
Вопрос вот в чем: ТАК ДЕЛАТЬ ВООБЩЕ ЛЕГАЛЬНО? может быть я просто не знаю как подобную хрень организовать
мимоньюфаг
307 1478925
>>78923
забыл пояснить что checkpoint() некоторая функция возвращающая boolean
308 1478931
>>78923
Исключения.
309 1478942
Такой вопросы, аноны.

Есть у меня csv файл с температурными данными (пик 1). Мне нужны поля с индексами 2(дата), 4(макс. температура) и 5(мин. температура).

В csv файле есть пустая строка, при обработке которой выскакивает ValueError.

Я сделал такую реализацию: https://pastebin.com/B3xpcJKB

for row in reader:
# преобразовываю строку в дату(?)
currentDate = datetime.strptime(row[2], '%Y-%m-%d')
# чекаю на ошибки
try:
low = int(row[5])
high = int(row[4])
except ValueError:
print(f"Missing data for {currentDate}")
else:
dates.append(currentDate)
highs.append(high)
lows.append(low)

У меня получается такой список:
<...>
46 - 2018-02-16 00:00:00
47 - 2018-02-17 00:00:00
48 - 2018-02-19 00:00:00
49 - 2018-02-20 00:00:00
<...>

46-49 индексы массива. Получается при всплавании ошибки ValueError, блок else пропускается и цикл переходит на следующую строку. Следовательно записи о 18 феврале у меня нет ни в одном списке.

НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)
309 1478942
Такой вопросы, аноны.

Есть у меня csv файл с температурными данными (пик 1). Мне нужны поля с индексами 2(дата), 4(макс. температура) и 5(мин. температура).

В csv файле есть пустая строка, при обработке которой выскакивает ValueError.

Я сделал такую реализацию: https://pastebin.com/B3xpcJKB

for row in reader:
# преобразовываю строку в дату(?)
currentDate = datetime.strptime(row[2], '%Y-%m-%d')
# чекаю на ошибки
try:
low = int(row[5])
high = int(row[4])
except ValueError:
print(f"Missing data for {currentDate}")
else:
dates.append(currentDate)
highs.append(high)
lows.append(low)

У меня получается такой список:
<...>
46 - 2018-02-16 00:00:00
47 - 2018-02-17 00:00:00
48 - 2018-02-19 00:00:00
49 - 2018-02-20 00:00:00
<...>

46-49 индексы массива. Получается при всплавании ошибки ValueError, блок else пропускается и цикл переходит на следующую строку. Следовательно записи о 18 феврале у меня нет ни в одном списке.

НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)
310 1478948
>>78923
Мб корутинами
311 1478953
>>78942

> НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)


Ты шо тупой, график по точкам строится. Он просто между 17 и 19 провел линию.
И открой для себя pandas
312 1478956
>>78953
Ясно же, что он не про линию между 17 и 19, а про 18 февраля на оси x, которого там не должно быть, так как оно отсутствует в переменной dates.

Ну или, как вариант, mathplotlib достроил его самостоятельно, но лично мне это кажется довольно странным решением.
313 1478960
>>78956
Естественно если хтиксы не выставлять мпл сам их достроит
314 1479237
>>78953
Я по книге делаю, мне по сути ни для каких задач он не нужен, просто интересно почему появилось 2018-02-18 если в dates этого значения нет (смотри выше)

>>78960

>Естественно если хтиксы не выставлять мпл сам их достроит


Подскажи нубасу, плс, что это значит. Откуда он догадался, что там именно 2018-02-18, а не любое другое число?
315 1479287
>>78923
Или я тебя не понимаю, или почему ты не можешь просто использовать continue?
decision = checkpoint()
if not decision:
continue
316 1479291
>>79237

> Откуда он догадался


Потому что у тебя по оси Y - даты, и тут и правда сложно понять как он "догадался" про следующую дату нахуй.
317 1479293
>>79291

>по оси Y


по оси X
318 1479329
>>79291
Ну то есть это как в экселе - заполняешь 1,2,3, а дальше уже эксель автоматом подбирает? Странно.
319 1479333
>>79329
Считай что так.
Вообще, обычно, надо указывать конкретное поле которое является датой, но, возможно, он может автоматом определять тип.
320 1479346
>>79333
Так я и определил, у меня есть два списка temperature и dates. Оба списка одинаковой длины, как я говорил выше, 2018-02-18 там и в помине не должно быть, странно что он добавил его. Список temperature по оси y, dates по оси x.

Спасибо за ответы!
321 1479561
делаем

pip3 install --target ./app pypiwin32
echo from win32api import * > app\__main__.py
python app

получаем
No module named 'win32api'
Пробовал с таклое же с другими модулями и они работают.

Если я устанавливаю pypiwin32 в систему или в venv, то импорт работает.
Пробовал шаманить с sys.path, модуль стало находить, но не может теперь найти какие-то DLL, названия которых он мне не сообщает.
322 1479774
Хули на вашем говне пишут нейронные сети?
323 1479782
>>79774
Предложи что получше. Но на этом чём-то должно быть удобно писать glue code.
324 1479799
хули pycharm такой тормозной?
325 1479844
>>79799
Потому что на жабе написан.
Можешь попробовать вижуалку, там вроде тоже питон поддерживается. А ещё можешь докупить оперативки.
326 1479877
>>72577 (OP)

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

В общем, у меня вопрос: вот такое постоянно "переотркытие" и погружение в глубь - это норма или просто я тупой?
327 1479886
>>79877
да, ты тупой. потому что лично я родился со всеми этими знаниями.
328 1479894
>>79799
Потому что твоя мать шлюха, а ты приемный.
329 1479901
Обнаружил, что opencv-python очень медленно читает поток с камеры (не более 20~25 кадров в секунду). Попробовал поебаться с потоками – не помогло может конечно ебался неправильно
Попробовал на go запустить аналогичный по функционалу код – считывает с нормальным фреймрейтом
Можно ли как-то на питоне добиться нормального по скорости чтения потока с камеры? Может попробовать другую библиотеку для этого?
330 1479903
>>79894
в бэ, дэбил
331 1479995
>>79844
Неужто 16ти гигов мало?
мимо тоже медленно работает
332 1480006
>>79901
А какой у тебя фреймрейт на камере?
Что за камера вообще? ИП или так?
Опенсв - норм либа, со скоростью работы там всё ок. Скорее всего готовишь неправильно.
Я использовал её для обработки кадров с фулхд ип-камер и всё было прекрасно, кроме одного но, вместо ffmpeg заюзал gsrtreamer(но причина была не в скорости, а в потере пакетов).
333 1480032
>>80006
Камера стандартная макбуковская (вроде 720р тут)

>Скорее всего готовишь неправильно


Возможно, но я вроде всё делал по примерам, не знаю даже, где тут можно обосраться
Если убрать всё остальное, то делал так:
stream = cv2.VideoCapture(0)
while True:
ret, frame = stream.read()
cv2.imshow('frame', frame)

Пробовал через потоки делать – результат одинаковый, в районе 20-25 фпс, при том, что ноутбук это всё спокойно тянет.
334 1480035
>>80032
Отступы потерялись, но надеюсь суть понятна
335 1480045
>>79995
Да, мало.
мимо-12гб-бог-ничего-не-тормозит
336 1480049
Такой вопрос. Если класс A, делаю переопределение оператора >. Загвоздка в том, что нужно объект класса A сравнить с объектом типа integer. Выбивает данную ошибку:
TypeError: '>' not supported between instances of 'A' and 'int'
Подскажите как быть?
337 1480068
>>80049
Покажи как делаешь.
338 1480075
>>80049
Точно метод __lt__() перегружаешь, а не что-то другое?
339 1480078
>>80075
__gt__() то есть.
340 1480079
>>80075
Ну, если быть точнее, то << и >>.
342 1480132
>>80088
Хер пойми, что ты вообще сделать пытался.
Во первых, у тебя не перегружен метод __gt__, который есть >.
Во вторых, PITCHES.index(other.note)
other у тебя приходящий параметр, целочисленный. Откуда ты берешь у него свойство .note - непонятно.
То, что тебе надо - это
if PITCHES.index(self.note) > other:
343 1480156
>>80132
Спасибо за помощь, писал rt из-за аналогии c lt. В плане other.note - это уже попытки эксперимента.
Еще раз спасибо, все работает.
344 1480462
Я не разбираюсь в том, как работает тор. Запросы на .onion сайты можно отправлять и через requests, или для этого есть специализированная библиотека?
help.png42 Кб, 625x768
345 1480490
кто-нибудь может объяснить и пояснить хуле тут происходит , а то блять в книжке никаких пояснений и объяснений не дается этой программе
Python 346 1480492
Python лучший язык программирования?
347 1480514
>>80490
уже разобрался сам
348 1480543
У меня есть класс Point, мне нужно с помощью метода repr сделать такой вывод.
points = [Point('A', 0, 3), Point('B', 4, 0)] -> [Point('A', 0, 3), Point('B', 4, 0)]
Не могу сообразить как на выводе выдавать класс в таком формате. Буду рад помощи, спасибо.
https://pastebin.com/pk0ys3aD
349 1480637
>>80543
f"Point({self.name}, {self.x}, {self.y})" ? Иначе не очень понятно, что тебе нужно.
350 1480781
>>80637
Задача в пасте: https://pastebin.com/uyBqDYD2
Я вообще не могу сообразить, как c этим __repr__ манипулировать.
351 1480798
>>80781
def __repr__(self):
____return f"Point({self.name}, {self.x}, {self.y})"

С контейнерами всё работает так, как надо. Если нужны кавычки вокруг имени точки, то возвращай f"Point('{self.name}', {self.x}, {self.y})".
352 1480804
>>80798

>def __repr__(self):


>____return f"Point({self.name}, {self.x}, {self.y})"


>


Спасибо за помощь, не думал, что все настолько просто.
353 1480973
Так, обьясните куда гуглить?
почему 0.99999999999999999 (не период) в питоне равен 1 ?

>>> 0.99999999999999999


1.0
354 1480979
>>80973
from decimal import Decimal
355 1480992
>>80979

>>> Decimal(0.999999999999999999)


Decimal('1')
356 1480997
>>80992
НУ ПОЧЕМУ ТЫ ТАКОЙ ТУПОЙ???>>80992
Decimal('0.999999999999999999')
СУУУУКа
357 1481011
>>80997
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'СУУУУКа' is not defined

?
358 1481013
>>80973
Чел просто перекатись с х86
359 1481030
>>81013
куда блять? в какой архитектуре его говно влезет без проблем округления?
360 1481071
>>81030
Чел просто напиши свой IEEE
361 1481139
>>81071
нахуй иди
362 1481147
Когда я преобразую целочисленый тип (int) в двоичный (bin), то последующие попытки преобразовать это значение в (int) выдают ошибку ValueError.

Значит, на сколько я понял, после преобразования, значение становится, допустим, 0b101 (число 310), то есть имее в себе буквенный знак, то есть становится строковым.

Вообще, для чего 2-,8-,16-ричные типы имеют 0 в начале?
363 1481183
>>81147
покажи что за хуйню ты там творишь
364 1481253
>>80997
Тебе шашечки или ехать? Нужна точность - юзай decimal, не нужна - float. Или ты хочешь аппаратную длинную арифметику? Это не к питону.
365 1481274
>>81147

> Вообще, для чего 2-,8-,16-ричные типы имеют 0 в начале?


А что будет в начале, если отрицательное число привести к 2/8/16 типу?
sage 366 1481344
>>81274
Почитай на вики про двоичную систему счисления, а особенно внимательно про прямой, обратный и дополнительный код. Многие вопросы отпадут.
367 1481424
>>81344
Я не он, я это знаю, я у того анона спросил, как бы намекая.
368 1481461
Питонач, помоги.

Есть датафрейм пандаса (изначально csv файл). В одном столбце названия файлов, каждый файл два раза встречается в столбце. В другом значения true / false. Нужно вывести названия тех файлов для которых оба раза значение во втором столбце было true. Нихуя не понимаю как это сделать и нужен ли вообще пандас для этого? Вообще в таблице больше столбцов, но речь идет об этих двух.
369 1481471
>>81461
пока что дошел только до такого решения, что оставить только те строки у которых значение во втором столбце true, а потом только тес строки которые два раза встречаются. Но мне кажется, что это слишком кривой костыль.
370 1481504
>>81471
Возможно, не совсем понимаю специфику задачи, но в чём проблема пробежаться по строкам твоего датафрейма, оставляя одну строку из двух подходящих и удаляя все остальные?
371 1481512
>>81504
т.е я прохожу по строке, проверяю название файла и значение, если false, то иду сразу дальше, если тру проверяю был ли этот файл раньше, если не был то добавляю его в список, если был то проверяю есть ли он уже в списке, если уже есть, то добавляю этот файл в итоговый список. Такой порядок получается, верно?
372 1481514
>>81461
А почему бы тебе не почитать https://docs.python.org/3/library/csv.html
Твоя задача имеет решение в пару строк.
373 1481517
>>81512
Да, наверное примерно так. Возможно, это не самое производительное решение, но, как мне кажется, одно из самых простых в плане реализации.
image.png203 Кб, 800x930
374 1481574
>>81274
А, я кажется вспомнил. Начальный бит выделяется под знак, если 0, то знака нет, то есть +, а если 1, то -.

Ведь так, правда, правда? Видишь, какой я, сам вспомнил, ни куда не заглядывал, ух-х...
375 1481576
>>81574
Малаца
bin.png2 Кб, 83x66
376 1481577
377 1481578
>>81574
Угу. А ещё все остальные биты инвертируются, а потом всё увеличивается на 1.
Это точно тред про питон?
378 1481579
>>81578
Это "Давно забытых знаний тред", теперь.
379 1481580
>>81147
Это просто обозначение, чтобы отличить от десятичной записи, если где-нибудь выводятся числа в разных системах счисления. Откуда эти обозначения взялись - другой вопрос, но это не важно для разработки.
изображение.png25 Кб, 581x424
380 1481612
>>74431
Я вернулся с твёрдым и чётким тз. Вот так это должно выглядеть. Помогите пожалусто, у меня никак не получается
381 1481630
>>81612
Тебе нужно, чтобы один график функции был наложен на другой, или что? Если нет, то просто определяешь эту функцию тем же способом, что и в прошлом твоём скрипте. Либо можно сильно изъебнуться и вывести явное выражение, но смысла особо нет.
.jpg14 Кб, 326x326
382 1481646
>>81630
Нет, график единый, просто должен быть изменён. Я понимаю, что нужно написать функцию. Я не знаю, что в ней писать, я геометрию не знаю, как эту ступеньку сделать то сука. Задача то какая полуебская, программисты не скажут как изменить, математики не скажут как реализовать.
383 1481662
>>81612
def func(x):
if 1 <= x and x <= 2:
return 0
else:
return sin(x)
384 1481666
>>81662
Синус непростой, его ещё нужно домножить на некую константу и сдвинуть на 1 вверх. Константа, полагаю, равна -π.
385 1481669
Объясните, пожалуйста, почему при инициализации BigBell все проходит гладко, а с тем же кодом у __init__ в классе LittleBell ничего не работает?
Спасибо.
https://pastebin.com/0YGHqgX6
386 1481679
>>81666
def func(x):
____if 1 <= x and x <= 2:
________return 0
____else:
________return cos(x) - 3*sin(x)

То, что у тебя было.
387 1481682
>>81669
Забыл звёздочку у list_bells в BellTower.
ringo.jpg390 Кб, 959x1262
388 1481703
>>81679
Спасибо тебе, анончик, добра! Ты меня спас
389 1481719
Аноны, есть один сайт и на нём форма, к ней хуй прорвёшься(после капчи сразу пишет что сервак перегружен). На сколько я знаю, таких как я, ломиться там куча постоянно и у них защита просто шлёт нахуй.
Первая мысль - селениум+лист с проксями и всё это отмасштабировать. Но тут упираюсь в тяжесть для оперативки такого подхода.
Какие есть варианты ещё? Какие параметры в хэдере/ещё чем-то мудрый анон посоветует менять?
390 1481722
>>81719
Я понимаю, что каждый сайт уникален +/- в защите, но может есть общие советы?
391 1481792
Я правильно понимаю, что питон нужен в бекенде,в дата саенсе,в машин лернинге и в девопс?
392 1481794
393 1481824
>>81792
Ещё всякая админская/линуксная скриптота, где раньше перл был.
394 1481852
Как в этом вашем питоне гуи сделать?
395 1481853
>>81852
PyQT/PySide, Kivy
396 1481882
>>81669
Потому что в BellTower ты передаешь 2 объекта, а не список объектов, как ты, видимо, хочешь. Оберни их в список, должно заработать.
397 1481918
Привет, питонисты и питонщики.
Хелп нуфагу.
В общем, пытаюсь сделать так чтобы пикрил1 выводил цену и продукт по очереди как на пикрил2, но не повторял ее столько раз, сколько товаров
Оцените мудрым взглядом и скажите где оплошал, буду очень благодарен!
398 1481920
>>81918
p.s.
плохо пока со списками, наизусть всех метоодов не знаю еще, да и много чего не знаю
399 1481924
>>81646
Хм, но ведь математика не нужна...
400 1481925
>>81918
for i,j in zip(buy, money): print(i, j)
401 1481928
>>81646
Кто тебе такое ебанутое задание дал?
В пэинте дорисуй как надо и пошли нахуй.
402 1481929
>>81824
это девопс
image.png141 Кб, 1919x1031
403 1481939
>>81925
Ты гений! Спасибо! Что это за zip такой? Эх, вот же классный язык!
404 1481949
Друзья, объясните нуфане:
Как по значению одного списка вернуть другое?
у меня есть:
a = [майнкрафт, варкрафт, старкрафт]
b = [1, 2, 3]
c = input()
В инпут я хочу забить значение списка b, чтоб мне по индексу возвратилось значение из списка a
Как такое провернуть?
405 1481961
>>81949
a[b[c]] ?
Кстати, что по твоему значит фраза "значение списка"?
406 1481964
>>81949
по хорошему это делается хэш таблицей, иирк в питоне она называется словарь

>>81961
у него значение в списке b не с нуля начинается лол
407 1482020
>>81949
Лучше сделай через словарь

>>81961
Тогда уж
a[b[int(c) - 1] - 1]
408 1482059
На вашем говне можно писать игры?
409 1482068
>>82059
Можно, но 3D пишут редко.
410 1482095
>>82059
Лучше не надо...
411 1482110
>>81939
Про zip загугли.
А по поводу задачи - ты мог просто убрать цикл в цикле и оставить лишь внутренний цикл. У тебя все равно длина первого и второго массива совпадают, так что с индексами все будет нормально.
Конечно, лучше использовать zip, но если бы ты вдруг не вспомнил про него, то вариант выше подошёл бы, я считаю.
412 1482121
>>82110
А еще он мог бы убрать свои два списка и использовать словарь :/
413 1482136
>>82121
А ещё он мог создать один список из множеств, в которых по хранится пара значений. Раз уж мы начали эту тему.
414 1482147
>>82136
Но ведь список кортежей лучше
415 1482241
>>82147
Я это и имел ввиду. Просто обосрался и перепутал название.
416 1482260
>>82241
Так он его и создал (zip)
417 1482263
My question is more general than concrete. I am learning Python and am interested in web scraping. I want to make an application that will select some data and then display it in a GUI. At will, I need a mobile (Android) application. I know that Python is suitable for web scraping, but I dont know what is the best way to implement the GUI, and in general the application itself.
As I see the structure of the program: 1. The web scraper reads the information, and then its processed. My question is: where should the scraper work? On server? Please help with choosing the right technology.
2. GUI. As far as I know, Python is not quite suitable for mobile development, however I would like to use it. Is it possible to use only Python for this task, or its advisable to use a different language instead or together?
I would really appreciate feedback and links to suitable resources. Thanks.
418 1482270
>>82263
Чтоб мобилку писать, юзай киви
419 1482283
vvod = input('Введите температуру по фаренгейту\n')
try:
farh=float(vvod)
cel=(farh - 32.0)*5.0/9.0
print (cel)
except:
print('Введите число')

Почему не работает код? try просто скипается.. Пример из книги, но я не пойму
Снимок экрана 2019-09-26 в 16.01.06.png671 Кб, 888x1068
420 1482284
>>82283
Что именно у тебя не работает?
421 1482285
>>82260
Я ж писал о том, как сделать, если вдруг zip не помнишь. С ним-то все понятно. Просто я, например, не так часто его использовал, чтобы запомнить функцию, поэтому и решил бы задача без неё.
qweq.png37 Кб, 793x1122
422 1482298
423 1482302
>>82284
Так ладно, тут я опростоволосился.. первый раз со скрином, второй раз с пробелами.. Лучше почитаю дальше, а за практику потом
424 1482304
visual studio или pycharm? студия уже стоит
425 1482307
>>82285
Энивей проще юзать словарь
426 1482309
>>82304
Чарм
427 1482311
>>82304
neovim one love
image.png9 Кб, 492x105
428 1482314
>>81961
>>82020
Что-то туплю.

>кстати, что по твоему значит фраза "значение списка"?


Ну я имел в виду, что мол 1 - это значение первое из списка b, а майнкрафт - первое знаечение из списка a
429 1482327
>>82314
a[b[int(c) - 1] - 1]
430 1482336
>>82314
Лол, с годом так работать не будет. Делай словарь.
431 1482389
Делаю для телеграмм бота, почему после того как нажимаю ран, он выдает "Process finished with exit code 0", т.е. как я понимаю после bot.polling должен ожидать сообщения мои, но он запускается и заканчивает, в чем у меня проблема?
432 1482390
>>82389
Мы экстрасенсы? Кидай код или фикси сам.
433 1482391
>>82389
Могу предположить что там должен быть цикл
434 1482408
>>82336
Хорошо, спасибо.
>>82327
Делал это тоже, только не заскринил. Тоже самое.
435 1482409
>>82389
Код бы на пастебин залил бы.
436 1482430
>>81719
Bump
Мудрый анонче, приди
437 1482434
https://pastebin.com/zq27pvwe

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

File "/count.py", line 17, in sort
something = something.replace(something, '')
AttributeError: 'list' object has no attribute 'replace'

Вообще не понимаю, почему так?
И норм ли такая сортировка вообще? Просто я только учусь
438 1482441
>>82434
Наркоман?

words_as_num = len(input().strip(forbidden).split(' '))
439 1482444
>>82434
1) Нахуя ты делаешь реплейс списка?
2) Если ты собрался отсекать только отдельные символы (которые отдельно от слов), то лучше делать .isalpha()
440 1482450
>>82434
>>82444
add

Я вообще не понимаю что ты высрал...
Там достаточно прочитать текст в переменную и сделать (офк если ты отсекаешь ток символы которые вместе со словами)

return sum(v.isalpha() for v in переменная)
441 1482457
>>82450
Отдельные символы*
И офк надо сделать split
442 1482491
>>82441
А может ты? Длину списка вычислять, блять, после не менее затратного процесса его создания. А если у него там миллион слов?
443 1482495
>>82441
И что? А может вообще ты даун?
444 1482497
>>82491
ну земля говном тогда
Дед-алгоритмизатор, ты? У чувака с хеллоувролдами проблема, а не тестовое с бигдатой
Почему не доебался что будет в случае с множественными пробелами?
Screenshot from 2019-09-26 20-38-48.png100 Кб, 1360x768
445 1482507
>>82491
>>82434
Специально для дауна который не осиливает миллион слов (чуть больше, сорри).
К нуфагу вопросов нет.
chickentechno.gif424 Кб, 352x248
446 1482516
>>82507
О, лялех
447 1482520
>>82497
Потому что была цель доебаться только до этого.

>>82507
Сань, хуй соси. То, что можно сделать через две-три строчки с циклом и счётчиком в нём, приходится делать по-индусски, но зато В ОДНУ СТРОЧКУ! СМАРИ, КАК МОГУ!
448 1482526
>>82520
А нахуя? Чтобы выполнять на 0.100с быстрее или ты строчку не осиливаешь?
449 1482533
>>82520

>по-индусски


>пиздонически верный genexpr


неосилятор не палится
450 1482554
>>82533
Хорошо, выражусь иначе: он эквивалентен предварительному созданию списка всех слов и вычислению его длины, что для данной задачи чем-либо кроме индусского кода назвать нельзя.
451 1482578
>>82554
А как бы ты ее решил?
452 1482587
>>82554

>типичный fizzbuzz однострочник


>индусский код


>>82578
Он бы создал цикл и прошёл по всему стрингу, ведя один счётчик, обнуляющийся на каждом пробеле или символах из форбидден, и инкрементирующий другой счётчик, если между этими символами были буквы. Ещё ему там нужно продумать разницу между дефисом в слове и дефисом отдельно, дефис будет как-то отдельно.
Получится куча говнокода с той же линейной асимптотикой
f.png3 Кб, 968x104
453 1482592
>>82441
>>82444

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

И вывод должен быть такой, только почему то "-" мешается и его нельзя поместить в forbidden

>>82434

>Сап, хочу сделать простой счетчик слов.


И да, я ошибся немного. Счетчик повторяющихся слов* Просто думал по коду и так понятно будет
Безымянный.png20 Кб, 599x363
454 1482616
Помогите бля.
Текст задания: Дан номер дня недели. Выведите название дня недели.
Хочу чтобы если вводишь числа не в диапазоне (1-7) он предлагал ввести еще раз, в турбо си можно было делать goto, а тут, как я понял, нельзя. Че делать, ебать?
455 1482621
>>82616
Засунь input в начало функции и вызывай в else функцию
456 1482622
>>82616
Гото уже не актуально, используй цикол.
457 1482624
>>82616
Используй цикл while
458 1482632
>>82592
>>82434

Пофиксил https://pastebin.com/4AswAty2

теперь все работает и вроде не так ужасно
459 1482636
>>82632
1) Так и не понял зачем тебе json
2) Лучше делать проверку слова на isalpha и если не проходит чекать по буквам
460 1482638
>>82636
Уже понял зачем json
461 1482649
>>82636

>2) Лучше делать проверку слова на isalpha и если не проходит чекать по буквам



А если вообще вот так сделать https://pastebin.com/4jCrnC67 ? И работает кстати нормально, и выглядит уже получше

>>82636

>1) Так и не понял зачем тебе json



Просто лишний раз попрактиковаться
462 1482662
>>82649
Так не прокатит же если "хуйня!" и подобное
463 1482667
>>82649
И зачем тогда not in? isalpha отсекает всё где есть что-то кроме букв + это так не работает
464 1482676
>>82649
if word.isalpha():
word_list.append(word.lower())
else:
clear_word = ''.join(c for c in word if c.isalpha())
if clear_word:
word_list.append(clear_word.lower())

Ток с дефисами над чет думать
465 1482716
>>82434
Слова с разными окончаниями считаются как одно слово или 2 разных? Если уж начал капаться в этом, то посмотри на nltk.tokenize.word_tokenize(). Он тебе сразу всю пунктуацию выпилит и слова разделит. Останется только посчитать их.

Хотя за скорость работы не ручаюсь. Понятия не имею, сколько оно займёт по времени, но вообще у tokenize есть разные токенизаторы и работают они по-разному. Можешь в них покопаться, если в производительности есть смысл.
466 1482731
>>72577 (OP)
Подскажите плз, какие знания необходимы для среднего джуна в питоне? Что нужно знать и уметь способным написать?
Я не физик/математик, потому, наверное, научная деятельность и рассчеты не в приоритете, так что вопрос скорее о вебе, ботах, автоматизации, какие там еще направления быть могут
467 1482734
>>82731
А тебе для чего? На работу или фриланс?
468 1482822
>>82304
Sublime
469 1482901
>>82616
Пиздос, ты хоть пробовал какую-нибудь книжку по питону почитать (хотя бы пару глав) прежде чем начинать писать код?
470 1482907
>>82822
А хули он у меня когда 2 отступа стоит и в настройке и в коде, код забагованным получается, хотя отображается правильно? В блохноте открываю а там всё наперекосяк. Так всё в нём нравится, если бы не это.
471 1482974
>>82734
Если на фриланс, то что учить нужно?
472 1483037
>>82907
Я у себя настроил табуляцию как четыре пробела. Все работает, полет нормальный. Ещё немного и отдам 80$ славным разрабам.
473 1483042
>>83037
По дефолту так и стояло. Но сразу менял на 2. Наверное баг. Потом запаришся исправлять код после него...
474 1483117
Аноны, горит лаба по питону, до этого никогда его не изучал, а это, собственно, первая дальше по программе языка не будет, поэтому совсем не ясно зачем такое вообще включили
https://ideone.com/D7Xmc4
Су
475 1483118
>>83117
Суть в том, что нужно сделать вывод в историю вообще всего, а не только запроса на сайт (там есть Info, но в историю почему-то не сохраняется)
Молю о помощи
476 1483146
Как в питоне красиво записать цепочку условий? Допустим у меня есть if с 4 выражениями, через перенос строки смотрится всрато, через лесенку из if'ов тоже всрато, что делать?
477 1483147
>>83146
switch?
478 1483149
>>83147
Нет
Если точнее, у меня есть 4 выражения, нужно вернуть одно, когда они все True и что-то другое в обратном случае, но в одну строчку смотрится всрато
479 1483152
>>83149
Пока придумал вынести выражения внутрь all в кортеже, вроде чуть менее всрато
480 1483154
>>82974
Боты/парсеры и всё что около них. С этим проще всего войти и поднять начальные деньги. Если будешь знать Flask какой, то ты уже очень неплох и можешь в клиент-серверные приложения.

На работе уже нужен набор посолидней. Уровня RabbitMQ/Redis/Celery, попутно с этим Django/Flask/aiohttp/Tornado, а также надо бы знать за тестирование(виды и способы). Иногда требуют голый питон(да, недавно узнал что и так можно работу найти), но для этого надо зубрить питоновские доки и ООП.
На джуна тебя будут спрашивать поверхностно, с мидла уже спрашивают глубже, с юз-кейсами и прочими радостями.
481 1483156
>>82974
А, ну и инглиш идёт дефолтом, к фрилансу, как и к работе.
482 1483162
>>83147
Ну нету в питоне ебанного свича, как и нету цикла do-while

>>83152
Не так часто нужно 100500 условий проверять одновременно, поэтому оправдано любое из этих решений.
Снимок.PNG4 Кб, 388x62
483 1483189
Кто vsc юзает, как пофиксить такую хуйню в консоли на пикрелейтед? Смена цветовой схемы не помогает, все равно нихуя не видно из-за этого ебаного выделения.
484 1483273
>>78942
ну так на графике видно, что нет у тебя никаких значений на 18 число.
при этом масштаб легенды = 1 день, вот либа и вставляет этот день на легенду, чтобы график правильный был.
Поменяй масштаб легенды, там и не такое появится.
485 1483310
>>83189
Вскод тут непричём. Это цветовая схема терминала используемого тобою. В крысе это, например, xfce-terminal. Фиксится изменением цветов в конфиш файлах.

https://askubuntu.com/questions/676428/change-color-scheme-for-xfce4-terminal-manually
486 1483314
PyQt сосет хуй. как в qgraphicsview сдвинуть view?
487 1483346
>>83310
Да менял я тему в wsl чет все равно такая же говнина. Если в вскоде тему менять, то цвет выделения тоже меняется, но не особо читаемо все равно, да и тема меня не устраивает.
Ну ладно, это не критично, просто неприятно.
488 1483401
Какой фреймворк лучше использовать для написания простого телеграм-бота?
489 1483452
>>83346
Илиот ты ебаный, при чем тут wsl, vsc??? Ёбаный ты кусок дегенерата, сходи по ссылке и измени foregroundcolor, ебанутый кусок дерьма ты.
490 1483459
>>83452
Товарищ бахатель, сидите в /b/ и не гавкайте или в джаба-треде
image.png51 Кб, 533x463
491 1483574
Как мне достать этот чертов span с помощью супа, если мне нельзя по цвету это делать? Уже задолбался
492 1483576
>>83574
таблица
на дворе стоит 2019...
image.png49 Кб, 543x442
493 1483585
>>83574
Удивительно, но статус достал. Теперь проблема достать вот это. Все не уникальное
494 1483591
>>83574
>>83585

Как смешно читать такие вопросы. Гугли DOM.
496 1483600
>>83593
Дурашка, ты парсишь хтмл, а не хмл.
497 1483605
498 1483692
>>83605
Парсеров очень много, выбирай тот, который тебе подходит
499 1483721
>>83452
притом, что консоль в вскоде от всл, ты последок сутулого пса, сходил тебе за щеку и изменил микрофлору твоей ротовой полости методом орошения.
500 1483748
>>83721
Дебила ебаного кусок, ещё раз тебе повторяю спермохлёб ды задроченный, терминал в прыщах наследует тему из конфиг файлов. В гуи настройки как раз этмх файлов. Ебанашка ты тухлодырая.
501 1483763
>>83748
Повторяю тебе ебаному куску дерьма, что у меня не прыщи тем более крысиные лол, я же не умственно отсталый, а wsl
ебанько блядь конченное
Оставляю тебе право на последний, бесполезный как и остальные, кукарек.
502 1483799
>>83763
Я тебе последний раз дегенерату ебаному объясняю, что дело не в wsl и том, что у тебя не прыщи. Прыщи у тебя обмудка ебаного внутри wsl!!! Всл это виртуальная машина с образом прыщей. Блядота ты необразованная, ято же ты за залупа такая конченая то. Сука, как ты вымораживаешь уже вовремя не вынутый хуй из пиздятины.
IMG5279.JPG340 Кб, 1079x1200
503 1483802
Нормальная ли идея изучать питон для прикладных программ под винду?

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

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

Вроде питон не идеален под это, но он не сложный и широкого назначения, может пригодится потом для других задач, поэтому выбор пал на него пока.
504 1483804
>>83799
хуесос ебаный мать твою ебал гнида блядская
там такие же прыщи как на жопе твоей мамаши отрисовка консоли виндовая ебанько тупое
мразь тупоголовая
скот блдь
Еще раз тебе говорю еще раз блядский сука раз
менял я ебаную тему
не работает нихуя
пошел нахуй
все умолкни, птушник.
505 1483817
>>83804
Шлюха ты с обдроченными губами сука твою гей шлюху отца ебал!!! Нет никакой отрисовки сосноли виндовая. Идиота ебаного кусок тебе говорят править тему внутри wsl, ты сука ебаная вообще нихуя не понимаешь что ли? Дебила ебаного кусок сука боядь. Гниба ёбаная по ссылке выше попробуй внутри wsl изменить конфиг и увидешь, что твой терминал изменит цвета. Мразь вонючая ты уже конкретно бесишь блядота губастая.
506 1483819
>>83817

>Еще раз тебе говорю еще раз блядский сука раз


менял я ебаную тему

Ну ты и дебил блядь) Иди ковыряй свой прыщикс, у меня другие проблемы.
507 1483875
Какие задачи можно порешать для закрепления навыков?
Прочитана книга "Укус пистона", немного полистал лутца и еще пару книжек. Сейчас читаю " Автоматизацию рутинных задач на языке Питун" на мой взгляд лучшая книга из прочитанных.
Олимпиадные мне не подходят, там упор на математику, а у меня с ней oche huevo
Хотелось бы чтото близкое к реальной разработке на веб, боты-хуеты, парсинг. Думал может запилить рпг, но в ооп пока могу слабо, хоть и понимаю основную идею. Хелп аноны, пока есть мотивация надо пушить это дерьмо.
508 1483881
509 1483887
>>83875
И еще такой вопрос, что читать чтобы понимать основы погромирования, проектирования программ не привязываясь языку питун. Вот задумал я игру на ооп, как мне эту пирамиду ебаную построить правильно?
Блок схемы рисовать? Цикл вуле, прорисовка обьектов это ж пиздец какойто. А можно прям в консоли чтобы графика была символьная? Хотеть такое.
Ведь одно и тоже говно можно написать на разных языках и делоть оно будет тоже самое
Наверно мне алгоритмы нужны, а как их составлять самомк? Короче вопросов очень много.
>>83881 благадарю
510 1483931
>>83802
Если для себя, и гуй не сильно сложный, то почему бы и нет? Хотя для винды такое обычно на C# делается.
511 1483951
>>83887
Ну собственно вон по ссылке можешь видева смотреть ет вводный курс во все говно, что ты хочешь знать , будешь знать основные структуры данных, алгоритмы. Те кирпичи на основе которых строишь приложуху.
.jpg80 Кб, 1209x853
512 1484006
Как GIL решает чья треда очередь сейчас выполняться и захавать блокировку интерпретатора? В ситуациях когда выполняющийся тред делает join или в блокировке сычует это понятно, а вот когда main тред например в бесконечном цикле выполняет важные вычисления (3 + 3), как GIL что сейчас в этот тик он дает врем main треду, а в другое одному из сотни других, запущенных в бэкграунде?
513 1484077
>>84006
Ну и ссанина этот ваш GIL. Больше проблем, чем пользы.
514 1484092
>>84077
Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты.
515 1484155
>>84006
Очерёдность выполнения потоков определяет интерпретатор в зависимости от реализации.
С Википедии взял. Сам в душе не ебу и тоже жду ответа на вопрос от знатоков, а то на собесе всплывал такой вопрос, а я нихуя не ответил.
516 1484156
>>84155
Тебя на собесе прям спрашивали как интерпретатор решает когда и что запускать?
517 1484157
>>84155
Не ответ. CPython GIL GIL PIDOR. Айрон пайтон и житоны не имеют таких проблем.
518 1484161
>>84156
Спросили как GIL выбирает, какой поток запускать. Вакансия джуна, если что.
519 1484164
>>84161
Да они ебанулись.
Тут единственно верный ответ - "выбирает исходя из своей внутренней логики"
520 1484171
>>84092
То есть проблема в сишных библиотеках, а отдуваться должен питон? Заебись, чо.
521 1484173
Так то GIL будет при обнаружении блокировки IO передавать контекст исполнения следующему треду, а при отсутствии блокировки по истечении н тактов следующему таску в соответствии с реализацией логики планировщика
522 1484174
>>84171

>Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты.


почти все сишные либы тред-сейф и не используют шаред мемори. Те что не тред-сейф написаны чмохами типа тебя
523 1484177
>>84164
Это вообще не ответ? Почему вода влажная? Потому что она мокрая.
524 1484178
>>84177
Всё так, потому что толку от того что собеседующий лезет под залупу - никакого нет, больше похоже на ЧСВ-еблана, который что-то где-то узнал и теперь ходит и у всех спрашивает.
525 1484180
>>84177
Может и ответ. Я тогда вообще ничего не ответил, потому что мне вообще похуй, чо там происходит по факту. Только после собеса я начал копаться в этой хуйне немного и набрёл на этоот ответ из Википедии, вот и всё.
526 1484182
>>84171
А без этого питон был бы как руби, только еще дальше - потому что питон отвратительная хуйня, где не осилили ООП и в частности инкапсуляцию, а руби хороший язык.

Проще говоря, без этого питон был бы скриптодрисней для админов и отдельные сумасшедшие писали бы на нем веб. Никакого ML, CV, DS бы не было.
527 1484183
>>84173
А это лучше ответ. А что за логика планировщика?
528 1484184
>>84178
Это да.
529 1484206
Сап господа, недавно вкатился в python, пишу для телеги бота, подскажите, как то можно прикрутить бд к боту? т.е., чтоб у пользователя(чата) хранить данные такие как Имя, город, телефон, еще какой то важный айди который я в последующем буду использовать? как это реализовать? быть может на ютубе есть че по этому поводу глянуть?
530 1484207
>>84206
sqlalchemy mysql google
531 1484212
>>84207

>sqlalchemy


Эта хуйня уже устарела
че там вместо нее я не запомнил, но запомнил, что устарела!
532 1484215
>>84212
Ну и соси хуй тогда.
533 1484216
>>84215
Не могу отбирать у тебя хлеб. Так что соси ты, у тебя неплохо выходит.
534 1484218
>>84216
Зачем ты повторяешь слова своей матери?
536 1491819
>>75579
Do you want TO try it one more time?

'To' пропустил
537 1493938
Может кто-то помочь, вообщем делаю парсер с помощью scrapy, мне нужно получать инфу о товаре с магазина со страницы, например title и url(описания товара), затем переходить по этому url к описанию и там стягивать еще ~10 полей типо price, brand и тд, затем это все записывать в один файл json и чтобы было как-то так {'products': {'1': {title: 'dsd', 'url': 'http://dfdf', 'price': 100}, '2': {'title': 'gfgfg', 'url': 'http://dfdsd', 'price': 23.12},}} надеюсь понятно, я реализовал так что у меня с одной страницы собирает данные записывает в json, потом проходит по ссылке и там собирает, но данные сохраняются не в один словарь, а в несколько. На скринах я тестирую на этом сайте http://quotes.toscrape.com/random
Тред утонул или удален.
Это копия, сохраненная 27 октября 2019 года.

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

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