Тред, посвящённый языку программирования Питон, #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/ (нужно знать ангельский или уметь пользоваться переводчиком)Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
>>1472562А какие асинхронные библиотеки нынче надо знать. Ну вот реально активно используемые? Так сказать джентльменский набор того, кто умеет asyncio?
Вкину это ещё раз, мало ли.Аноны, как насчёт небольшого конкурса?Игра запиленная на PyGameПилите игру, прогресс разработки заливаете на гит(любой сервис), аноны оценивают и победителям приз, к примеру 200$(рубли/битки and etc. в эквиваленте).1. Тематика любая;2. Пара отдельных направлений - 2D и 3D(в каждом направлении свой победитель и свой приз);3. Поощрительные призы за не призовые места, но за код/душу/музыку/анимацию and etc;4. Уже ведёшь разработку? Похуй, можешь принять участие. Главное - активность.5, Со сроками определимся, но как по мне, хватит - 2-3 месяца.Есть желающие принять участи?
>>1472590По-моему такой призовой фонд даже на весь гд собрать невозможно, лол. Я думаю, максимум что в этом треде может получиться -- это пару анонов с играми и один, который согласится потратить время на чтение говнокода. Хотя сам лично я собирался начать писать что-нибудь на pygame по ходу изучения ооп + у меня дальше по мфтишному курсу несколько практик по pygame. Но я не думаю, что может получиться что-то играбельное, до этого я только курс по алгоритмам проходил и решал кодварс.
>>1472637Это мой загон. В чем проблема?>>1472636Как по мне, визуальные новеллы - слишком специфический жанр.>>1472657> такой призовой фонд даже на весь гд собрать невозможноНу да. Я от себя предлагаю такой призовой фонд. Если кто-то тзахочет добавить - ю ар вэлкам. Потрачу время на чтение кода и тестирование игр, для этого ж все и делается.Подожду ещё желающих.
>>1472590https://pygame-dev.blogspot.comБуквально пару дней назад начал пилить по просьбе из /gd/ раздела. Пока что два урока, но зато очень подробно. В ближайшую неделю напишу еще штук 5 уроков со всеми нужными для RPG функциями Как раз хотел спросить в /pr, кому-то здесь инетересен мануал по созданию RPG на Python?Алсо зацените блог, что думаете насчет манеры подачи инфы, дизайна?
>>1472800Тема была с созданием игры, что очевидно намекает на gd. Да и конкурсы по игрострою там проводятся.
>>1472807И кроме того, что был упомянут pygame, ни слова про кодинг не увидел, вообще ничего.Короче, нахуй эту тему. Пусть создает отдельный тред, может кто с других языков заинтересуется, но я очень сомневаюсь.
>>1472577 (OP)Аннуннаки, есть ли вариант тестировать сайты, которые написаны вдоль и поперек на жабаскрипте? Тут только какой-нибудь селениум поможет, или requests+bs4 уже научился справляться с такими сайтами?
>>1472776Я бы с удовольтствием поучаствовал бы, такой то развивающий челлендж. Но пигейм не учил, т.к. он мне не особо интересен для изучения, и вабще, впереди ещё 300 страниц книженции по пайтону...Мимо-нюфаня.
>>1472826300 страниц не обязательно читатьПалю годноту: codecademy.com/learn/learn-pythonнажимаешь Startрегаешься по-быстрому, можно на фейкомыло и начинаешь обучение.Читать много не нужно, все кратко и по теме. Будешь сам кодить и смотреть как твоя программа работает в каждом уроке. За 1-2 дня станешь полноценным питон-кодером.
>>1472837Я уже освоил укус питона, писал мелкие софтинки, сейчас более углублённую книженцию на 700 страниц читаю, которая посвящает в мелкие детали, которые не даёт базовый курс + дополнения - сейчас SQLite прохожу.
Питононы, вопрос от мимо проходившего офисного планктона без опыта программирования. Нужно: накидать скрипт, который будет сравнивать периодически выгружающиеся из базы данных таблицы Эксель и уже существующей, в которой собраны неактуальные, но остающиеся в базе данных строки. То есть из каждой новой выгрузки я хочу скриптом удалять статичный набор строк (чтобы не делать это вручную каждый раз). Мне тут какую библиотеку надо использоват? Панд?
>>1472847> скриптом удалять статичный набор строк стандартными средствами питонадля sql базы данных SQLAlchemy
>>1472847Данные если уникальны - просто множествами представляешь и вычитаешь. Если нет, сортировка и вычитание.
>>1472847https://stackoverflow.com/questions/19960077/how-to-implement-in-and-not-in-for-pandas-dataframe
>>1472847делаю по примеру, найденному в интернетах. когда копирую код оттуда и использую для примера две таблицы с гитхаба автора, все работает норм. если я заменяю данные в ячейках таблицы (сохраняя названия колонок), ловлю ошибку:KeyError: 'passes columns are not ALL present dataframe'мой планктонный далекий от программирования мозг не в силах понять, что я делаю не так.
>>1472896знаю, но точно такую не вижу. вариации да, такую нет нубопроблемы блядь разрывает надо было делать всё вручную нахуй
>>1472791> Иди нахуй отсюда.Нет ты.>>1472776Выглядит интересно, почитал, буду следить.Записал тебя в желающие, но надо хотя бы ещё пару человек.>>1472826Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет.>>1472884Это конкурс, а не работа.Я лично каждому победителю готов выдать оговоренный приз(по 200$) + доп. призы тем кто постарается, но не победит.Если есть спонсоры - можно увеличить призовой фонд, но для этого надо вначале желающих набрать.Платить за участие не надо.
>>1472917>Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет.Кивя и Пайкт у меня та же в планах изучеия. К ПайКт приступлю в ближайшее время - ей как раз посвящена часть моей книги, киви собирался изучить чуть позже, в рамках попытки изучить кодинг под мобильнички. Олсо, не знал что най пайкуте можно игры делать, лол.
>>1472897Ты неправильно заменяешь данные в ячейках таблицы. Погугли pandas set column cell by the index.
Хайль питонисты. Есть простой код (даже слишком), который реализует RSA-шифрование:https://pastebin.com/YB8xyB3PРаботает обычно правильно, но периодически возникает ошибка и числа при дешифровке меняются. Типа такого:https://pastebin.com/9QXNMCjuЭто переполнение? Но я думал, в путоне длина чисел нелимитирована. Или это из-за модульных вычислений? Но я, вроде, пытаюсь бороться с этим. Ограничил максимальную зарплату минимальным n, да ещё и вычел из неё дополнительно, чтоб даже близко к границе не подходило. Посмотри, анон, а?
>>1472824Нет не научился.Бери селениум и в путь.Хотя, смотря что тебе тестить надо, если апи, который дёргает жабаскрипт то можно реквестами, если же UI то тут без вариантов.
>>1473001Селениум же умеет высасывать весь код сайта после его прогрузки с жабаскриптом? И работать в фоне?
Есть варианты сделать компактнее выражение[[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)] ,но это выглядит не намного менее громоздко.
>>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]i for i in range(1, 10)] + [[0]i for i in range(10, 0, -1)]Ещё пять минут подумаю, мне кажется и это можно улучшишь. Хотя так уже читаемо
>>1473035Что не нравится больше всего? Хотелось бы конкретики. >>1473036Да, выглядит гораздо более адекватно. Спасибо. Складывать списки научился, а про умножение на число не додумался вспомнить.
>>1473055> Что не нравится больше всего? Хотелось бы конкретики.Слишком много всего и сразу, большая вложенность.
>>1473031Не надо так писать. Это "умную" хуйню потом тебе же читать через полгода или, что еще хуже, другому человеку. Пиши понятный код.
Репост из предыдущего треда.Посоны, а кто-нибудь может мне помочь с ткинтером? Написал небольшой парсер файлов игры, и нужно через ткинтер забубенить вызов функции отрисовки и перевода содержимого файлов, но никак не могу догнать, как это сделать среверс-инженирить похожие проги не получилосьНе хочется тут палить код, так что телега fakeaccount123123
>>1473036Больше всего не нравился в твоём исходном варианте, что ты для внешнего и вложенного генератора списка пользуешься одной переменной i. Надо ломать голову, почему это работает. Вот здесь работает, а в других случаях может легко сломать программу. Используй разные переменные, i+j, когда у тебя вложенность есть.В целом вложенность в генераторах списков не нравится, она всегда тяжело читается, не для этого их делали. Есть полезный модуль itertools, чтобы не делать сумму нескольких списков, можно так написать[[0]*i for i in itertools.chain(range(1, 10), range(10, 0, -1))]хотя в данном случае не сильно меняет
Доброго времени :) Есть две задачи в книге 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
>>1473289>Чет мне кажется, что я жестко туплю. this. Она проверяет наличие билета из списка игрока в списке выйгрышных билетов.
>>1473331return является концом функции. Тоесть если ты вызываешь 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
Хочу импортить как из фласка, или овердохуя откуда, типа: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Короче как православно запилить пакет/модуль для собственного использования?
>>1473031Тебе надо получить "пирамиду" из списков, где длинна списка сначала растет от 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)]
>>1472577 (OP)Помогите с проблемкой. Осваиваю ООП. Написал код с графическим интерфейсом, который проводит определенные расчеты, на пике часть от этой программы. Сейчас решил представить этот код в виде классов. Создал класс с постоянным полем, который содержит строчки, необходимо вывести эти строчки в главном окне, но если внутри класса передавать аргумент root, то выдаёт ошибку. Каким образом засунуть эти строчки в главное окно? И вообще верно ли я делаю это, может лучше создать класс с атрибутами строка и поле для ввода? Вот ссылка на код, если надо https://pastebin.com/LgtTquDE
>>1473461Не понял что у тебя за ошибка, но попробуй добавить родителей, т.е.:__init__(self, root): self.root=rootИ потом пробуй self.root вместо обычного
>>1473461Ярик, проблема в том, что ты определяешь класс, в котором используешь переменную, которая никак не определена на момент создания самого класса.Я, к сожалению, сто лет не трогал tk и даже примерно забыл, как там, чтобы оценить остальное и чего дельное посоветовать.
>>1473461Хотя нет, могу что-то посоветовать.Ты просто вообще неправильно используешь класс.Ты определяешь labels как переменную внутри класса, а не экземпляра класса. То есть ошибка более глобальная, в понимании судя по всему. Тебе надо скорее всего примерно так:class lab_ent:.... def __init__(self, root):........self.labels = Label(root)................a = lab_ent(root)a.labels.place(...)
>>1472577 (OP)сап,есть цикл вида for i in range(x):В цикле проверяется условие и если оно верно то нужно перескочить на следующее i. Т.е грубо говоря цикл начинается с 0, если внутри выполняется условия я хочу сразу перейти на 2, пропуская 1. Но i += 1 не дает должного результата. Как это сделать?
>>1473511Видимо просто оформить цикл в традиционном стилеi = 0while i < x:____if something: i += 2____else: i += 1
>>1473356Да, именно. Спасибо. Тоже была идея запилить функцию для произвольной высоты "пирамиды", но пока нет такой необходимости.Впрочем, до использования остатка я всё равно вряд ли бы додумался.
>>1473674> Aprint("ALLO {} {} ETO TY POSHYOL NAHOOY IZ {}, YOU WILL DIE ON {}".format(input("Name: "), input("Surname: "), input("Club: "), input("Date: ")))> Bprint("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: "))))> Cprint((lambda name: "Idi nahui, {}".format(name) if len(name) % 2 else "Hello {}".format(name))(input("What is your name?\n")))> Dprint((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:")))
Если кто понимает в numpy и pandas, хочу нормализовать данные формата datatime64 в значения от -1 до 1нашел такое решение,https://stackoverflow.com/a/31048949вроде работает, но я не могу понять, что происходит на этапе, когда данные формата datetime64, полученные из строки, преобразуются в int64df['A'] = pd.to_datetime(df['A']).astype('int64')в итоге получается какое-то число, но как она высчитывается и что оно означает я не понимаю, это вроде как не количество секунд в определенной дате, но тогда что это может быть ?Код если что взят по ссылке на оверфлоу
>>1472577 (OP)Написал маленькое приложение в ООП(по крайней мере пытался). Может кто-нибудь оценить код вообще на верность написания, верно ли я вообще выделил классы и верно ли использую их. На пике то, что выдаёт, вот ссылка на код(буквально 130 строк): https://pastebin.com/aub49PHZ
>>1473877 Мои глаза... Им больно...Я не смотрел весь файл, но сразу что заметил:1) Имена классов. С заглавной буквы пожалуйста. С маленькой называй методы и функции свои несчастные, а классы надо уважать.2) У тебя в классах ничего не происходит. Если это ООП ради ООП, то ладно. В практическом плане это хуета. Используй словари.3) Проиграл с количества переменных, которые тебе в итоге вообще не нужны.В глазах рябит от файла, дальше пусть кто-то другой советы даёт.
Полный нюфак. Где-то читал что желательно юзать синтаксический анализатор для того чтоб било по рукам когда косячишь. Читая про них наткнулся на код который вообще не понимаю, хотя вроде всё и просто.https://habr.com/ru/company/dataart/blog/318776/#comment_10190206Зачем его было переписывать именно так? >req = urllib.request.Request(url=item, headers=header)Выглядит как какой-то шитпостинг для меня, а не код. headers=header ну как так-то, чё это ваще? или это просто пример такой?
>>1473877В твоём приложении, по сути, ООП практически нет. Всё, что ты делаешь, можно реализовать и без создания каких-либо новых объектов. Здесь подобное усложнение кажется лишним. Почитай больше про ООП, попробуй осмыслить и придумать ему более оправданное применение. Не останавливайся, ты молодец. Почти все так начинали.
>>1473913Неохота вникать во всё, что там обсуждают. Судя по всему, у них обсуждение предупреждений от анализатора, когда подключаются модули какие-то, но не используются. И в комментариях приводятся примеры, как можно подключать какие-то отдельные модули. Например, ты можешь подключить какimport urllibи дальше использовать полный путь urllib.request.Request()или явно импортировать Request в основное пространство имёнform urllib.request import RequestRequest()>headers=header ну как так-то, чё это ваще? или это просто пример такой?Это передача в функцию именованных параметров. Вот эти вещи надо изучить и хорошо понимать, они несложные, но в них особая мощь питона, которая отличает его от языков вроде JS/PHP. Тут реально крутые возможности, которых в других языках сильно не хватает.
>>1473919Ну я первый код этого приложения так и написал без классов, а в структурном программировании(так это называется вроде), но решил на примере этой задачи освоить немного ООП. Ладно пойду действительно почитаю побольше. Спасибо за ответ.
>>1473877Здесь не ООП, а объекты ради объектов. ООП нужно для того, чтобы упрощать жизнь, а ты фактически усложняешь.Во пример, у тебя есть класс val_float. Но как и все другие твои классы, он не имеет никаких методов, вся его суть в том, чтобы хранить ОДНУ (!) переменную типа float.Куда лучше не усложнять, а просто вместо объектов класса держать отдельные переменные с этим же значением.Вместо p_H = val_float(entry_p_H) писать простоp_H = float(entry_p_H.entry.get())либо val_float оформить как функцию, которая возвращает float, вот это как раз самое разумное будет.Надо вникать в математику и логику твоей программы. Скорее нужно создать какой-то большой объект и отдельные методы, один из которых будет отвечать за отрисовку формы, другой за чтение данных из полей, третий за сами вычисления. Тогда у тебя уже будет смысл в ООП, например ты сможешь в любой создать унаследованный объект, в котором переопределить один из методов, например форматирование формы, в то время как остальные останутся прежними. Как-то так, как мне кажется.
>>1473937>>1473877Дополнювот у тебя есть переменная 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())Вот это хотя бы будет ближе к ООП, хотя в данном случае ООП не очень оправдано вообще. Но если делать, то вот скорее так.
>>1473937>>1473939От души душевно в душу, спасибо. Насчёт p_H в первой версии кода без ООП я так и писал сразу переменную float(entry_p_H.entry.get()), но решил извратиться и с классами попробовать.
ЕБАНЫЙ РОТ ЭТОГО CELERY И ШИНДОУСАноны, помогите ! Короче, при создании пользователя, отправляю запрос через редис, селери его принимает но после кидает - TypeError("wrap_socket() got an unexpected keyword argument '_context'")Хз, что делать уже. мне уже хуйово
>>1473977СУКА ЭТО ПИЗДЕЦ МАГИЯ НАХУЙКак только пошел ныть в прогромач, эта хуйня блять заработала ! Чудо БЛЯТЬ !
>>1473977На такое количество файлов смотреть больно. Но не потому, что ты что-то делаешь не так, а наоборот, что-то не так делаю я.
>>1474016Ты о тех что сверху или вообще в проекте? Так то, это просто тестовый проект из двух приложений, там бывает вообще пиздец.
Какие магические методы я должен добавить в свой класс, чтобы он поддерживал сортировку по определённому атрибуту с помощью функции sorted()? Одних операторов сравнения хватит? Или я вообще перефантазировал, а на практике это никак нельзя реализовать?
>>1474047Непонятно, что ты хочешь. Отправить из своего приложения запрос другому приложению (серверу) и получить ответ? Юзай requests.
>>1474053Есть сервис, он запрашивает инфу (1) и получает её (2), потом обрабатывает и что-то отдаёт дальше (3).Как это можно представить?Первое и третье - это get и post самого сервиса, а второе - post от стороннего сервиса, приходящий на наш?
Есть файл bot.exe написанный на питоне либо 2,7 либо 3. Нужно декомпилтровать его и получить исполняемый файл. За это заплачу 500р на карту, киви, куда угодно. Готовые взяться пишите в телегу @jdocj
>>1474047> Как получить сервисом post-запросОтправить сервису пост-запрос.>>1474055> запрашивает инфу (1) и получает её (2), потом обрабатывает и что-то отдаёт дальше (3).Хуйню придумал. Тебе либо фласк не нужон, либо архитектуру меняй.
>>1472577 (OP)Какие книги must read новичку? Спрашиваю тут, т.к. ЧАВО не актуально. Дочитываю "Укус Питона" из ЧАВО далее по списку "Think Python: How to Think Like a Computer Scientist"
>>1474216Очень сложно что-то посоветовать, особенно для продолжающих.- разный опыт программирования на других языках- разная подтоговка по технологиям программирования и алгоритмам- разная подготовка по информационным технологиям, работой с сетями, графикой и т.п.- разные цели и направления. Питон это веб, это сетевые сервисы, это обработка данных, это AI/ML. Всё это разные направления.
>>1472577 (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Но он всегда возвращает еггог, хотя вхождения точно есть. Пчоему?
>>1474240Не имел дел с регулярками, но звёздочку в конце пробовал?[1]\d{5}.*Вот так вроде бы как-то или что-то подобное.
>>1474240Кек, у тебя при первом же элементе, который не подходит под регулярку останавливается итерация.
Анон, подскажи нюфагу с чего лучше начать изучение django чтобы было понятно и нормально написано как запустить, установить, базовые операции и т.д. я про книги или курсы
>>1474240Так пойдет?>>1474256С официальной документации, там все расписано в стиле пошагового руководства для самых маленьких.
Какой либой я могу взять, создать изображение с белым фоном, нарисовать на нем квадратики и круглешки, и при этом иметь возможность преобразовывать это изображение в обычный список трехмерный?
>>1474304Друшака, будь внимательней.А вообще - нахуй регулярки. Никогда не любил этот неликвид. Что-то сложнее твоего примера очень трудно править. Особенно когда в каком-нибудь роутинге юзается с десятками вариантов значений.
Есть ли d flask-sqlalchemy способ автоматизировать добавление в таблицу строк с foreign key, чтобы при надобности в дочерней таблице создавлась нужная строка? Я что-то такое припоминаю, но на стекоферфлоу говорят такое по умочанию нигде не автоматизируется.
Приветствую всех гуру математики и графиков итт. Помогите разобраться с задачкой, пожалуйста. Всё что нужно, сместить эту часть влево, а я сколько функции не менял, оно либо пропадает, либо график соединяется. https://ideone.com/6MV3Y3
>>1474431Ты же знаешь что нельзя построить такой график чтобы для одному иксу соответствовало несколько игреков?
>>1474441Нормально меня препод подъебнул, потому что пытался со мной решить проблему и оставил с хвостом
>>1474441Можно, он не обязательно должен описывать функцию. Уж формулу эллипса или там круга ты точно видел.
>>1474462Думаю нужно чтобы второй элемент находился в этом промежутке от 1 до 2, представляю теперь как-то так. Но сжать на практике не получается
>>1474482Как вариант - умножить аргумент в cos(x) - 3*sin(x) на какое-нибудь положительное число, чтобы "сжать" график по оси x. Ну и твоё условие в func2 под это подогнать.
>>1474455> Уж формулу эллипса или там круга ты точно видел. Это не формулы. А эллипс и круг это не графики.мимо
Подскажите библиотеку для визуализации данных. Мне нужно визуализировать данные с крипторынков, разные графики, свечи, объемы и прочее дерьмо. Знаю про https://bokeh.pydata.orgНо может есть что-то лучше для моих целей?
Юзаю питон для написания автотестов, возникла задача в рамках теста поднимать мок-сервер, чтобы поймать запрос тестируемого приложения и подсунуть ему готовый ответ. Есть ли какие готовые библиотеки, чтобы это легко сделать?мимотестировщик
>>1474534Я обычно графаной визуализирую, но это не библиотека, а отдельное приложение, тебе наверное не подойдет.
>>1474537Знаю, приложений для визуализации тьма. Таблеу всякие итп. Но я хочу питоновским способом сделать.
>>1474224Там ни слова про книгу "Изучаем Python" Марка Лутца, хотя она повсюду как одна из лучших для начинающих. Есть тут люди, которые шарят, знакомы с литературой? Также вопрос по SICP. На самом ли деле это такая годнота?
>>1474536>requests-moсk гугли такоеЕсли я правильно понял, это для юнит-тестов питоновских приложений. А у меня тестируемые приложения некоторые на яве, некоторые на го, на питоне пишу автотесты.
>>1474551Начни с чего попроще. Я начал вообще с "Python. Введение в программирование" Линк => https://younglinux.info/store/store.htmlСупер понятная книга. Могу конечно скинуть книгу, но блин, она всего 39 рублей стоит.
>>1474551Столько воды, сколько в Лутце, даже в моём дипломе не было.Мне зашла книга "Программирование на Python 3" Саммерфилда. То же самое, но сжато.
>>1474553>некоторые на яве, некоторые на го, на питоне пишу автотестыТак что у тебя и как тестирует? Подробней немного распиши.
>>1474871Есть приложения, которые пишут программисты на яве и го. Я пишу автотесты для этих приложений на питоне. Приложения взаимодействуют с базами, а так же иногда между собой по http. Отправить мой запрос приложению я умею, но в некоторых случаях приложение отправляет запрос само. Вот эти запросы от приложений мне и нужно перехватывать и подсовывать заготовленные ответы. Я могу редактировать конфиги приложений, чтобы направлять их на выполняющий тесты компьютер, но я не могу изменять код приложений, они разворачиваются на тестовых серверах в уже скомпилированном виде.
>>1474939> мне и нужно перехватывать и подсовывать заготовленные ответыЯ бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им.Но я не тестировщик, я бэкэндер, так что хз на сколько это правильно, но других вариантов я не вижу.
>>1474942>Я бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им.Я вот думал, что кто-нибудь уже запилил для этого библиотеку, чтобы не писать это самому, и как раз поинтересовался.
>>1474944Ну, по факту тут либа есть - любой хттп сервер, хоть из стандартной либы бери(кстати норм идея) и всё. Всё равно ж данный и роуты кастомные.
Народ, поможайте, совсем не понимаю.Задача, есть какая-то консольная прога, которая раз в секунду выдаёт сообщение в stdout. Работает она очень долго. Надо, запустить её из питоновского скрипта через asyncio, и по ходу того, как прога что-то выдаёт, читать это и обрабатывать. Пытаюсь делать через asyncio.create_subprocess_exec, но засада огромная. Все методы, которыми можно данные считать оттуда, выдают их только после того, как субпроцесс завершится. А мне надо сразу.Много чего пробовал, не получается никак. Это с asyncio вообще возможно сделать? Без были пути с fcntl, но тут походу даже и так нельзя.Заебался, сил нет.
Привет, пытаюсь залить приложение Django на хостинг. Весь функционал в порядке, только не загружаются static и media файлы. Хостинг на nginx. В консоли видно что идёт запрос в папку www.site.ru/static/... Как можно настроить загрузку файлов хостингом?
>>1474993Выглядит как задание студента. Это под линухом нужно? Перенаправь вывод проги в файл и читай оттуда, не вариант?
А кто-нибудь 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. -->ЧТО тут нужно сделать? Как я разберусь, а вот про ЧТО у меня нет понятия. Ну и картинка из этого задания
Анон, помоги советом.Есть куча строк- словарей вида {"a": "val1", "b": "val2"..."z": "val26" }.Их все надо превратить в один новый словарь, т.е.1. Взять значение val22. Проверить, есть ли такой ключ в новом словаре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"}...}
Анон, подскажи, есть идея сделать легковесную программу для определения полей допусков по квалитетам и диаметру, ну и в обратном порядке, как в любом CAD-e вроде КОМПАС, SolidWorks.В какой структуре данных лучше хранить такую таблицу, чтоб можно было искать пересечения квалитетов и диапазонов диаметров? Может, библиотеки какие есть для упрощения такого поиска.
>>1475027Я тут сижу , не ссы, так что сюда пиши или почту свою оставь. Конкурс как таковой не случился, ведь участников набралось лишь 2.>>1475094Ну обычно вся математическая хуйня делается через scipy. Для начала найди подходящий тебе метод, а там уже структуру данных узнаешь.
>>1475091Делай рекурсивное обновление, типа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
>>1475203Ты предлагаешь хранить эту таблицу в экселевском документе и парсить каждый раз в пайтон?Начал читать по пандас датафреймы, похоже, лучший вариант?
прошу наставлений у опытных анонов по джангеаноны, есть такое задание: необходимо создать службу для учеников и учителей. своеобразная система рекрутинга чтоли. на главной надо будет выбрать за кого мы хотим зайти: за учителя или ученика (авторизоваться никак не надо, тупо редирект на другую страницу). если выбрать ученика, то необходимо отобразить страницу где будет форма которая содержит: имя, возраст, город, емейл где он жмет далее и затем сохраняется в базу данных. затем ему высвечивается три вопроса (на которые можно тупо true или false ответить для простоты) и затем уже жмем далее и его обратно выбрасывает сохранив ответы на вопросы в бд.если же нажать на вкладку для учителей на хоум странице, то надо отобразить ему страницу где он выберет себя из списка учителей (имя, город), далее отобразить список учеников которые прошли тест в его городе, где может посмотреть ответы каждого ученика и есть кнопка зачислить ученика и затем уже добавляет его в бд зачисленных учеников. так вот, чо стоит курить чтобы это реализовать? чет основных данных которые я нашел в оф доках и в книге на пике не оч хватает
>>1475278Блять, точно, ты по джанге и спрашиваешь.1. Офф доков должно хватить, ведь там же есть годный пример.2. Как по мне, норм кинига - антонио меле(и похуй что для старой джанги). Чуть выше, в треде, советовали ещё другого автора, полистай.
>>1475286почему то мне не хватает их для создания вероятней я просто тупой и долго гружусь, а по повуду книги в треде - увы ничего не нашел
>>1475295только тутор, остальные не мог(либо половина либо уже где 90% было сделано) потому что джанго начинал мозги мне ебать и показывать что ошибка в синтаксисе хотя с ним все ок было
>>1475304алсо, трабл в том что нигде нормально не объясняется что такое модели, формы и вьюхи из за чего я не могу понять просто что от меня нахуй требуется и из чего стоит сделать модели, на основе них сделать формы и как связать с вьюхами и сделать все это через нормальный адекватный редирект
>>1475311Модели - таблицы в БД. Как и на основании чего строить модели - отдельная тема о высоких материях.Вьюхи - твой бэк для HTML страниц, если просто.Формы - ну собсна твои формы, по которым тыкает юзер и что-то выбирает.>>1475304> только туторПоиграй с тутором, поизменяй разные параметры/поля, кастомизируй его.
>>1475333>Поиграй с тутором, поизменяй разные параметры/поля, кастомизируй его.думаешь что это поможет мне выполнить задание ?
>>1475377Задание у тебя простое, для того что бы его выполнить, тебе нужно понять суть, поигравшись с примером ты, возможно, найдёшь зависимости и постигнешь дзен.
>>1475380ну вот постепенно начинаю понимать что томодели - это мои ученики (с данными в виде города возраста, имени,емейла) и учителя(город, имя)вьюхи - это то чтто будет выводить на экранформа - это выбор в виде ответов на вопросы или же на главной где меня редиректитвсе верно?>Задание у тебя простоеда я понимаю, но как реализовать все это через джангу пока трудно понять. если бы сказали на питуне сделать было бы в разы проще
>>1475094Зачем тебе хранить таблицу? Считай допуск сразу по размеру и квалитету (единица допуска величина расчетная).
>>1475394> все верно?В общем и целом - да. Если это учебное задание, то точно да.Но я бы ещё рассмотрел такой вариант: сделать ученика и учителя как одну модель, выставив только тип(ученик/учитель).
>>1475401Можешь поделиться ссылочкой? Получил машиностроительное образование, работаю инженером-технолухом на заводе и никогда не слышал про такой расчет. Всю жизнь поля допусков беру по справочникам. Что-то мне подсказывает, что ты заблуждаешься.
>>1475275Это тестовое задание в компанию какую-то? Потому что у меня было точно такое же, один в один, задание, но с другими сущностями.
>>1475408Ну пиздец. Привет, коллега. Неожиданная встреча.Читай любой учебник по метрологии Анухин - Допуски и посадки. Можешь начать с https://ru.wikipedia.org/wiki/Допуск#Квалитет> Всю жизнь поля допусков беру по справочникам.Это просто в справочниках уже величину поля допуска посчитали для тебя для каждого диаметра.
>>1475579Зачем и куда yfunc у тебя возвращает False? Это нахуй не надо. И всё можно оформить через обработку ZeroDivisionError, хотя бы ради стимуляции обучения. Раз уж учишь Питон, то почитай про исключения, ибо они тебе в перспективе могут понадобиться.>>1475608Оно и не станет работать лучше, потому что функция sqrt() у тебя так и не определена.
>>1475628Я не хочу быть программистом, если уж прям надо будет, то как-то само найдётся, прочитается. А вообще спасибо.>>1475609Спасибо, дружок пирожок. Всё работает.
Опытные подскажите, я как полный ноль решил начать изучение питона с лутца изучаем питон, но начав читать решил , что перейду к этой книгище позже, по советам решил почитать the byte of python, но на русский переведена она только для питона 2, так вот вопрос, принципиально ли для меня новичка, что я прочитаю эту книгу по 2 питону, когда все настоятельно советуют работать по 3
анон как мне отобразить по нормальному страницу со списком учителей где я могу выбрать себя ? в гугле нет нихуя>>1475275 - кун
>>1475435да все верно, тянка кадровик просто друг скинула, типо мол попрактикуйся пока на таком, прежде чем пытаться в бек энд вкатываться
Ребята, мне тут нужно кинуть джепег на api post запросом в multipart/form-data'e. Если отправлять картинку через вебморду в теле запроса джепег выглядят в таком виде (пик), и это окей, api его сжирает без проблем. А когда я сам пишу запрос я просто не могу прочитать картинку в таком чарсете (или что это с всякими ÿØÿà), тоесть открываю ее стандартным open(path).read и получаю все в хексе, который api сожрать не может. Короче говоря, как мне прочитать картинку чтобы она была как пикрелейтед?
>>1475579Это тебе не СЕсли import math, то используется math.sqrtЕсли from math import sqrt то sqrtЕсли from math import * то sqrt так же, но это плохой вариант.
>>1475709Во воьюхе обращайся к модели, выгребай учителей, передавай список в хтмл файл, там по списку пробегайся и выводи список по элементу.Но ты всё ещё не понял фишки и сути, так что ...
>>1475640Читай на английском, она очень простая, по сравнению со всякими серьёзными книгами. Гуглом переводи если что.
>>1475782>передавай список в хтмл файл, там по списку пробегайся и выводи список по элементуа как конкретно это сделать? остальные два пункта сделал, но в этом теперь проблема из за чего просто выводится пустая страница с заголовком СПИСОК УЧИТЕЛЕЙ
>>1475514Окей, сам уже вчера нашел после того, как написал ответ.Нашел ещё на гитхабе калькулятор овз какого-то казаха, вот он тоже тупо все отклонения в массивах держит. Но там все на js написано (сложно в коде разобраться), зато по-богатому мультиплатформа.
>>1476149Наверняка есть какой-нибудь перевод. Возможно, не такой уж и древний. Или гуглить ты тоже не умеешь?
>>1476161Хз, ни разу туда не заглядывал.Ну, если совсем всё плохо, в чём я сомневаюсь, есть плейлисты на ютубе на русском.
>>1476149лолблять, там базовый английскийу нас в вузе немецеий преподавали и даже я разобралсяпиздец ты дегенерат
>>1476149Ну и нахуй ты пошел flask изучать? У тебя прямо сейчас два варианта: изучать английский или изучать 1С. Одно из двух.
>>1475144Спасибо.Ещё одни вопрос с комплексными словарями.Как преобразовать словари вида: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():А дальше хз
>>1476410tmp = dict()for k,v in a items:__if not k in tmp: tmp[k] = [v]__else: tmp[k] = tmp[k].append(v)Тебе нужно, что-то наподобие для каждого словаря.
>>1476456Зависит от того, когда именно ты хочешь писать "хуй", а когда "пизда". Если это зависит от определённого условия в цикле, то всё можно оформить в одну функцию, а то и обойтись вообще без неё. Ну а если тебе просто нужно, чтобы он печатал "хуй" через одну секунду, а "пизда" - через 4 после "хуй", то пишиtime.sleep(1)print('хуй')time.sleep(4)print('пизда')Либо кури threading, если не подходит ни то, ни другое.
Анонасы, поясните дебилу, нахуй в tkinter завезли кучу говна для разметки? pack, grid, place?Я вот допустим, хочу сделать шахматное поле, но не могу понять, как его лучше разметить. Очевидно, grid должен быть удобным, для реализации, собственно самой игры, но вот я не знаю, есть ли вариант объект(PhotoImage) двигать по гридам в дальнейшем. Пока читаю, но буду благодарен, если кто напишет/распишет за этот момент, и даст совет. Знаю про PyGame, PyQt и т.д., но захотелось навернуть говна.
>>1476522Почитаю, но пока, как я понял, canvas комбинируется с тем же pack, если нужно изображение вывести?Пока фон так сделал https://pastebin.com/u8hGKX6c
>>1475820Книга оказалось для 3 питона , проста сама версия книги типо 2.0, думаю много людей это сбило с толку.
>>1472577 (OP)Привен анон, хелп плиз. написал скрипт:import ospath = 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, что через пуск она по другом себя ведёт.
>>1476725Я проверил, у меня работает. Правда я в path ничего не добавлял, а запускал по win+r -> c:\test\run.batНе понимаю что ты хочешь в общем. Выведи принты на разные этапы, что бы понять на каком этапе у тебя происходит некоторое дерьмо
сап, погромисты. Есть вот такая задачкаhttps://www.codewars.com/kata/next-smaller-number-with-the-same-digits/pythonЯ ее решил как на втором пике и числа любых размеров сразу кучей он считает за доли секунды. Пишу тоже самое на сайт - в автоматических тестах получаю ошибку, мол дохуя думает, хотя там ничего сверхсложного нет. Это проблема сайта, или у меня что-то не то?
>>1476837Что-то мне подсказывает, что существует алгоритм в разы более быстрый - без необходимости сортировки и прохода цикла огромное число раз за счёт уменьшения исходного числа на единицу (!).Как вариант - просто переставлять местами последний и предпоследний разряды в исходном числе. Если получается число меньше исходного - возвращаешь его; иначе возвращаешь -1.
>>1476881Не последний и предпоследний, а от последнего к первому в цикле. Всё равно получится быстрее.
>>1476837У тебя чудовищно неоптимальный алгоритм, и неверный.Вот для числа 100000000 он должен вернуть -1, нет такого числа.Сколько времени твой алгоритм будет работать для числа19000000000000, где следующее число будет 10900000000000? Очень долго. А в условии сказано, что числа могут быть очень большими, то есть там могут быть десятки тысяч знаков уж точно.Всё проще делается.
>>1476881Сложнее, но направление мысли верное.Если число представить в виде префикс + суффикссколько-то разрядов префикса, сколько-то суффикса, то1) суффикс не может быть уменьшен только в случае, если он отсортирован от меньшего к большему, вот как тут00015589это минимально возможное число.2) идём слева направо, начиная с двух разрядов. Если текущий суффикс нельзя уменьшить, то добавляем один последний разряд из префикса. Если теперь суффикс уменьшаем, то вынимаем из него цифру, максимально большую, но меньше той, что взяли из префикса, из оставшихся строим наибольший возможный суффикс и возвращаем число. Если не уменьшаем, то идём дальше.Если в суффикс попало всё число, и по итогу получилось, что старший разряд = 0, то возвращаем -1. Ну либо если итоговый суффикс всё равно не уменьшаем.
>>1476837Можно же разбить число на массив, сортирнуть, сравнить с исходным, если получилось другое число возвращаем его, если нет или в начале 0 то -1?
>>1477032В этой задаче надо найти наибольшее из чисел, меньше исходного, и если такого нет, то вернуть -1. А если есть, то вернуть найденное число.
Сап. Год назад проходил 2 курса по Python на Stepik. Дошёл до более-менее хорошего уровня, разобрался с ООП, регулярками, работой с API, но сейчас забыл почти всё. Посоветуйте, что делать, чтобы вспомнить весь материал? Снова пройти курсы? Или начать читать литературу для новичков из шапки?
>>1476795Я создал по гайду bat так, чтобы вводам имени скрипта в CTRL+R, скрипт запускался. Не c:\test\run.bat, а CTRL+R > run. Скрипт запускается таким образом, но папка не создаётся.Наткнулся на наводку: есть разница между рабочей папкой, и папкой откуда запускается скрипт - я этой разницы не понимаю. Вместо os.getcwd() можно использовать os.path.dirname(os.path.abspath(__file__)).
>>1477107Быстро вспомнить синтаксис и основы языка мне помогал learnxinyminutes, погугли, там много языков есть и питон тоже. На code wars затем задачи можно поделать, я через них много бест практисез языка узнал, когда смотрел после задачи чужие лучшие решения. Ну и делай затем что-то сам, а там остальное вспомнишь по мере необходимости. Так-то можно и книжку, но это на любителя, я бы второй раз продираться через воду Лутца не рискнул.
Сап, программач, есть проблема. Недавно начал осваивать ботов в для телеги, и столкнулся с тем, про при запуске бота в консоли получаю тысячу и одну ошибок. Код рабочий, интерпретатор переустановил, библиотеку обновил, но пиздец остался. Что делать?
Аноны, нахуй изучать Питон? Там изучать то нечего, это ж как HTML по сложности, самый простой язык программирования из всех. Я питон изучил за 1 день на codeacademy.com. Особые фичи питона вроде лямбда функций и всякого хитрого синтаксиса можно понять просто интуитивно, или загуглить за 2 минуты. Правда я еще C/C++, PHP и Java знаю, может поэтому мне проще изучать.В любом случае, я вас уверяю, питон - самое простое, что может быть в мире программирования. Не нужно читать никаких книг. Проходите курс на codeacademy.com за пару часов - всё, считай ты знаешь Python. мимо-создатель игры на PyGame
>>1477718Короче, делай в любом случае через прокси, у меня телега запускается, а к апи бота не обращается. Погугли свободные прокси и как в библиотеке реквестс прописать прокси.
>>1477723>питон - самое простое, что может быть в мире программированияНиет. Самое простое у байтоебов это ассемблер, а у скриптоблядков самое простое это форт.
>>1477723С каких пор ценность языка определяется сложностью изучения, да ещё и прямо пропорционально?
>>1477738Да я не спорю что питон очень ценный. Питон охуененПросто в этом треде дохуя постов о том, как ИЗУЧАЮТ питон по каким-то книгам.... нахуй настолько простой язык изучать по книгам. Все обучение питону умещается на 2-х страницах текста
>>1477740Ну, если рассуждать с этой позиции, то на изучение синтаксиса вместе со встроенными функциями, типами и соответствующими им методами у человека, знакомого с программированием, может уйти меньше дня.Я плохо знаком с литературой по Питону, но могу предположить, что в хорошие книги по нему вполне могут быть добавлены примеры работы со встроенными/сторонними библиотеками и прочие полезности. Остальные же из них рассчитаны на новичков, которые с программированием знакомы чуть менее чем нисколько.
>>1477730>>1477728Всё сделал, всё работает, спасибо за помощь. Пользовался telebot.apihelper.proxy = {'https':'socks5://username:password@adress:port'} если что.
>>1477834Чего ты смеешься? Питон реально за 1 день изучается, если ты уже знаешь хотя бы C++, Java.На хабрахабре даже есть какая-то статья, в которой питон на одной странице поясняется.Хотя если ты не знаешь других языков и не понимаешь принципов ООП и вообще как работает программирование, то потребуется больше одного дня, да...
>>1477743в /gd загоне меня гнали в этот загон, крича о том что именно кодинг обсуждают в /pr-загоне, отсюда гонят туда... из загона в загон...Алсо, я прекрасно знаю python, так что вполне подхожу в тред о python-программировании
>>1477957>Питон за 1 день>На хабрахабре Нужно быть немножко тоньше.Даже если ты пришёл с большой панамкой, чтобы просто набрать хуёв.
Есть значит массив вида [1, [2, 3], 4, [5, [6]]] надо на выходе получить [1, 2, 3, 4, 5, 6]как такое сделать?
>>1478207ебать ты жирнич так ты же хуже червя-пидора ты копипастер!!!!111выучил он пиздон за 1 день охуеть /gd/дебилы пробил очередное дно
>>1478209>ебать ты жирнич так ты же хуже червя-пидора ты копипастер!!!!111>выучил он пиздон за 1 день охуеть /gd/дебилы пробил очередное дноТы объебанный чтоли? Пишешь так, словно ты под бутиратом каким-то
>>1478208Делаешь функцию, которая из имеющегося списка всё аппендит в новый, но если она встречается список вместо числа, то вместо аппенда вызывает сама себя на этот список.
>>1478208import jsonm = [1, [2, 3], 4, [5, [6]]]out = json.loads('[' + json.dumps(m).replace('[', '').replace(']', '') + ']')
>>1478291>>1478292fixed:m = [1, [2, 3], 4, [], [[], [], [[]]], [5, [6]]]out = json.dumps(m).replace('[', '').replace(']', '').replace(',', '').split()В задаче, конечно, хотят, чтобы решали через рекурсию. Но это не интересно, скучно. По-моему это делается даже проще самыми штатными средствами питона, но сейчас не понимаю.Хоть тут и извращение, но скорее всего оно будет работать быстрее, чем реализация через рекурсию. В реальном коде такой подход очень даже оправдан.Но для обучения лучше сделать как положено.
>>1478117Похуй что наброс.Мало-мальски нормально никакой язык за несколько дней не учится. Если ты круто умеешь писать на Java/C++, то основной синтаксис очень быстро освоишь и писать как-то сможешь, но особая специфика языка требует уже больше времени, и по-началу будешь писать на питоне так, как на C/C++/Java, только убого, поскольку питон это не C++/Java.Язык это не только синтаксис, это ещё и масса практик, как на этом языке грамотно писать. А это уже времени требует и реального опыта.
>>1478300Да это фигня какая-то, там же вообще могут быть произвольные объекты. А рекурсия новичкам как раз должна быть интереснее, чем твоё решение
Возник такой вопрос.Мне нужно в __init__ передать неопределенное количество аргументов, например:className("1", test="3", procedure="10"), с учетом того, что test/procedure - это рандомные имена.Как это сделать? Гуглил по поводу super, но не смог врубиться. Спасибо за помощь.
>>1478435Просто, видимо, kwargs работает именно с функциями(или я не разобрался), а мне нужен метод __init__
>>1478435Написал бы хоть, какую именно "ту же ошибку". По твоему описанию необходимо что-то вроде __init__(self, arg, kwargs), что лично у меня работает без проблем.
>>1472577 (OP)Кто работал с FreeCAD помогите плез. Буду очень благодарен за помощь. Пытаюсь импортировать FreeCAD в python. Но выдаёт ошибку, что модуль не обнаружен. Делал всё по инструкции по ссылке https://habr.com/ru/post/464113/#III , а так же еще 200 различных вариантов с указанием пути(как на втором пике). У меня установлен python 3 и FreeCad 0.18.
>>14785611, Разве так эта херня работает? Сколько раз юзал фрикад - писал скрипты именно для внутреннего запуска из фрикада.2, Версию для 3 пистона подвезли? Вроде ж только вторая была.
>>14785631. Ну насколько я понимаю можно как из фрикада юзать, так и использовать фрикад как модуль импортируемый2. Вроде как да, по крайней мере вот ссылка https://www.freecadweb.org/wiki/Python_3 с их же сайта, но пока что вариант, что это ошибка из-за разных версий питона тоже рассматриваю.
>>1478507Беру свои слова назад, видимо я дурак и как-то криво написал код. Все теперь работает, спасибо.
Читаю 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
>>1478668Вылетающую ошибку анон должен гадать?Всё ок работает.У тебя либо проёб в представлении данных или ищё что
>>1478668Тебе твой эксель показывает не то, что в файле на самом деле. Смени представление данных у столбца на текстовый формат, например, и ты увидишь.
Анон, скажи ньюфагу как синтаксически должен выглядеть тудулист, я просто представить не могу как его правильно оформить.
>>1478782>>1478809Спасибо, друзья. Проблема как раз и была в представлении данных. сори, по запаре забыл про ошибку, которая вылетает
привет программачв общем такой вопрос к уже прошаренным:у меня есть некоторый код в котором есть своеобразные чекпоинты. логика следующая: если чекпоинты эти не проходятся то код ниже до определенного этапа выполнять не надо. так вот я додумался это сделать следующим образом:decision = Falsewhile not decision: some code some code some code decision = checkpoint() some code decision = checkpoint() some code breakВопрос вот в чем: ТАК ДЕЛАТЬ ВООБЩЕ ЛЕГАЛЬНО? может быть я просто не знаю как подобную хрень организовать мимоньюфаг
Такой вопросы, аноны. Есть у меня csv файл с температурными данными (пик 1). Мне нужны поля с индексами 2(дата), 4(макс. температура) и 5(мин. температура).В csv файле есть пустая строка, при обработке которой выскакивает ValueError. Я сделал такую реализацию: https://pastebin.com/B3xpcJKBfor 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:0047 - 2018-02-17 00:00:0048 - 2018-02-19 00:00:0049 - 2018-02-20 00:00:00<...>46-49 индексы массива. Получается при всплавании ошибки ValueError, блок else пропускается и цикл переходит на следующую строку. Следовательно записи о 18 феврале у меня нет ни в одном списке. НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)
>>1478942> НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)Ты шо тупой, график по точкам строится. Он просто между 17 и 19 провел линию.И открой для себя pandas
>>1478953Ясно же, что он не про линию между 17 и 19, а про 18 февраля на оси x, которого там не должно быть, так как оно отсутствует в переменной dates. Ну или, как вариант, mathplotlib достроил его самостоятельно, но лично мне это кажется довольно странным решением.
>>1478953Я по книге делаю, мне по сути ни для каких задач он не нужен, просто интересно почему появилось 2018-02-18 если в dates этого значения нет (смотри выше)>>1478960>Естественно если хтиксы не выставлять мпл сам их достроит Подскажи нубасу, плс, что это значит. Откуда он догадался, что там именно 2018-02-18, а не любое другое число?
>>1478923Или я тебя не понимаю, или почему ты не можешь просто использовать continue?decision = checkpoint()if not decision: continue
>>1479237> Откуда он догадалсяПотому что у тебя по оси Y - даты, и тут и правда сложно понять как он "догадался" про следующую дату нахуй.
>>1479291Ну то есть это как в экселе - заполняешь 1,2,3, а дальше уже эксель автоматом подбирает? Странно.
>>1479329Считай что так.Вообще, обычно, надо указывать конкретное поле которое является датой, но, возможно, он может автоматом определять тип.
>>1479333Так я и определил, у меня есть два списка temperature и dates. Оба списка одинаковой длины, как я говорил выше, 2018-02-18 там и в помине не должно быть, странно что он добавил его. Список temperature по оси y, dates по оси x. Спасибо за ответы!
делаемpip3 install --target ./app pypiwin32echo from win32api import * > app\__main__.pypython appполучаем No module named 'win32api'Пробовал с таклое же с другими модулями и они работают.Если я устанавливаю pypiwin32 в систему или в venv, то импорт работает.Пробовал шаманить с sys.path, модуль стало находить, но не может теперь найти какие-то DLL, названия которых он мне не сообщает.
>>1479799Потому что на жабе написан.Можешь попробовать вижуалку, там вроде тоже питон поддерживается. А ещё можешь докупить оперативки.
>>1472577 (OP)Сап,питанули, освоив некоторые азы питона, решил начать учить джаву, и по мере ее изучения, постоянно возращаюсь и к питоновской документации, питоновским основам: к типам, их особенностям, к типизации вообще, сравниваю реализации сборщика мусора, насколько они важны для обычного челика, особенности ООП.В общем, у меня вопрос: вот такое постоянно "переотркытие" и погружение в глубь - это норма или просто я тупой?
Обнаружил, что opencv-python очень медленно читает поток с камеры (не более 20~25 кадров в секунду). Попробовал поебаться с потоками – не помогло может конечно ебался неправильноПопробовал на go запустить аналогичный по функционалу код – считывает с нормальным фреймрейтомМожно ли как-то на питоне добиться нормального по скорости чтения потока с камеры? Может попробовать другую библиотеку для этого?
>>1479901А какой у тебя фреймрейт на камере?Что за камера вообще? ИП или так?Опенсв - норм либа, со скоростью работы там всё ок. Скорее всего готовишь неправильно.Я использовал её для обработки кадров с фулхд ип-камер и всё было прекрасно, кроме одного но, вместо ffmpeg заюзал gsrtreamer(но причина была не в скорости, а в потере пакетов).
>>1480006Камера стандартная макбуковская (вроде 720р тут)>Скорее всего готовишь неправильноВозможно, но я вроде всё делал по примерам, не знаю даже, где тут можно обосратьсяЕсли убрать всё остальное, то делал так:stream = cv2.VideoCapture(0)while True: ret, frame = stream.read() cv2.imshow('frame', frame)Пробовал через потоки делать – результат одинаковый, в районе 20-25 фпс, при том, что ноутбук это всё спокойно тянет.
Такой вопрос. Если класс A, делаю переопределение оператора >. Загвоздка в том, что нужно объект класса A сравнить с объектом типа integer. Выбивает данную ошибку:TypeError: '>' not supported between instances of 'A' and 'int'Подскажите как быть?
>>1480088Хер пойми, что ты вообще сделать пытался.Во первых, у тебя не перегружен метод __gt__, который есть >.Во вторых, PITCHES.index(other.note)other у тебя приходящий параметр, целочисленный. Откуда ты берешь у него свойство .note - непонятно.То, что тебе надо - это if PITCHES.index(self.note) > other:
>>1480132Спасибо за помощь, писал rt из-за аналогии c lt. В плане other.note - это уже попытки эксперимента. Еще раз спасибо, все работает.
Я не разбираюсь в том, как работает тор. Запросы на .onion сайты можно отправлять и через requests, или для этого есть специализированная библиотека?
кто-нибудь может объяснить и пояснить хуле тут происходит , а то блять в книжке никаких пояснений и объяснений не дается этой программе
У меня есть класс Point, мне нужно с помощью метода repr сделать такой вывод.points = [Point('A', 0, 3), Point('B', 4, 0)] -> [Point('A', 0, 3), Point('B', 4, 0)]Не могу сообразить как на выводе выдавать класс в таком формате. Буду рад помощи, спасибо.https://pastebin.com/pk0ys3aD
>>1480637Задача в пасте: https://pastebin.com/uyBqDYD2Я вообще не могу сообразить, как c этим __repr__ манипулировать.
>>1480781def __repr__(self):____return f"Point({self.name}, {self.x}, {self.y})"С контейнерами всё работает так, как надо. Если нужны кавычки вокруг имени точки, то возвращай f"Point('{self.name}', {self.x}, {self.y})".
>>1480798>def __repr__(self):>____return f"Point({self.name}, {self.x}, {self.y})">Спасибо за помощь, не думал, что все настолько просто.
Так, обьясните куда гуглить?почему 0.99999999999999999 (не период) в питоне равен 1 ?>>> 0.999999999999999991.0
>>1480997Traceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'СУУУУКа' is not defined?
Когда я преобразую целочисленый тип (int) в двоичный (bin), то последующие попытки преобразовать это значение в (int) выдают ошибку ValueError.Значит, на сколько я понял, после преобразования, значение становится, допустим, 0b101 (число 310), то есть имее в себе буквенный знак, то есть становится строковым.Вообще, для чего 2-,8-,16-ричные типы имеют 0 в начале?
>>1480997Тебе шашечки или ехать? Нужна точность - юзай decimal, не нужна - float. Или ты хочешь аппаратную длинную арифметику? Это не к питону.
>>1481147> Вообще, для чего 2-,8-,16-ричные типы имеют 0 в начале?А что будет в начале, если отрицательное число привести к 2/8/16 типу?
>>1481274Почитай на вики про двоичную систему счисления, а особенно внимательно про прямой, обратный и дополнительный код. Многие вопросы отпадут.
Питонач, помоги.Есть датафрейм пандаса (изначально csv файл). В одном столбце названия файлов, каждый файл два раза встречается в столбце. В другом значения true / false. Нужно вывести названия тех файлов для которых оба раза значение во втором столбце было true. Нихуя не понимаю как это сделать и нужен ли вообще пандас для этого? Вообще в таблице больше столбцов, но речь идет об этих двух.
>>1481461пока что дошел только до такого решения, что оставить только те строки у которых значение во втором столбце true, а потом только тес строки которые два раза встречаются. Но мне кажется, что это слишком кривой костыль.
>>1481471Возможно, не совсем понимаю специфику задачи, но в чём проблема пробежаться по строкам твоего датафрейма, оставляя одну строку из двух подходящих и удаляя все остальные?
>>1481504т.е я прохожу по строке, проверяю название файла и значение, если false, то иду сразу дальше, если тру проверяю был ли этот файл раньше, если не был то добавляю его в список, если был то проверяю есть ли он уже в списке, если уже есть, то добавляю этот файл в итоговый список. Такой порядок получается, верно?
>>1481461А почему бы тебе не почитать https://docs.python.org/3/library/csv.htmlТвоя задача имеет решение в пару строк.
>>1481512Да, наверное примерно так. Возможно, это не самое производительное решение, но, как мне кажется, одно из самых простых в плане реализации.
>>1481274А, я кажется вспомнил. Начальный бит выделяется под знак, если 0, то знака нет, то есть +, а если 1, то -.Ведь так, правда, правда? Видишь, какой я, сам вспомнил, ни куда не заглядывал, ух-х...
>>1481574Угу. А ещё все остальные биты инвертируются, а потом всё увеличивается на 1.Это точно тред про питон?
>>1481147Это просто обозначение, чтобы отличить от десятичной записи, если где-нибудь выводятся числа в разных системах счисления. Откуда эти обозначения взялись - другой вопрос, но это не важно для разработки.
>>1474431Я вернулся с твёрдым и чётким тз. Вот так это должно выглядеть. Помогите пожалусто, у меня никак не получается
>>1481612Тебе нужно, чтобы один график функции был наложен на другой, или что? Если нет, то просто определяешь эту функцию тем же способом, что и в прошлом твоём скрипте. Либо можно сильно изъебнуться и вывести явное выражение, но смысла особо нет.
>>1481630Нет, график единый, просто должен быть изменён. Я понимаю, что нужно написать функцию. Я не знаю, что в ней писать, я геометрию не знаю, как эту ступеньку сделать то сука. Задача то какая полуебская, программисты не скажут как изменить, математики не скажут как реализовать.
>>1481662Синус непростой, его ещё нужно домножить на некую константу и сдвинуть на 1 вверх. Константа, полагаю, равна -π.
Объясните, пожалуйста, почему при инициализации BigBell все проходит гладко, а с тем же кодом у __init__ в классе LittleBell ничего не работает?Спасибо.https://pastebin.com/0YGHqgX6
>>1481666def func(x):____if 1 <= x and x <= 2:________return 0____else:________return cos(x) - 3*sin(x)То, что у тебя было.
Аноны, есть один сайт и на нём форма, к ней хуй прорвёшься(после капчи сразу пишет что сервак перегружен). На сколько я знаю, таких как я, ломиться там куча постоянно и у них защита просто шлёт нахуй.Первая мысль - селениум+лист с проксями и всё это отмасштабировать. Но тут упираюсь в тяжесть для оперативки такого подхода. Какие есть варианты ещё? Какие параметры в хэдере/ещё чем-то мудрый анон посоветует менять?
>>1481669Потому что в BellTower ты передаешь 2 объекта, а не список объектов, как ты, видимо, хочешь. Оберни их в список, должно заработать.
Привет, питонисты и питонщики.Хелп нуфагу.В общем, пытаюсь сделать так чтобы пикрил1 выводил цену и продукт по очереди как на пикрил2, но не повторял ее столько раз, сколько товаровОцените мудрым взглядом и скажите где оплошал, буду очень благодарен!
Друзья, объясните нуфане:Как по значению одного списка вернуть другое? у меня есть:a = [майнкрафт, варкрафт, старкрафт]b = [1, 2, 3]c = input()В инпут я хочу забить значение списка b, чтоб мне по индексу возвратилось значение из списка a Как такое провернуть?
>>1481949по хорошему это делается хэш таблицей, иирк в питоне она называется словарь>>1481961у него значение в списке b не с нуля начинается лол
>>1481939Про zip загугли.А по поводу задачи - ты мог просто убрать цикл в цикле и оставить лишь внутренний цикл. У тебя все равно длина первого и второго массива совпадают, так что с индексами все будет нормально.Конечно, лучше использовать zip, но если бы ты вдруг не вспомнил про него, то вариант выше подошёл бы, я считаю.
>>1482121А ещё он мог создать один список из множеств, в которых по хранится пара значений. Раз уж мы начали эту тему.
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.
vvod = input('Введите температуру по фаренгейту\n')try: farh=float(vvod)cel=(farh - 32.0)*5.0/9.0print (cel)except: print('Введите число')Почему не работает код? try просто скипается.. Пример из книги, но я не пойму
>>1482260Я ж писал о том, как сделать, если вдруг zip не помнишь. С ним-то все понятно. Просто я, например, не так часто его использовал, чтобы запомнить функцию, поэтому и решил бы задача без неё.
>>1482284Так ладно, тут я опростоволосился.. первый раз со скрином, второй раз с пробелами.. Лучше почитаю дальше, а за практику потом
>>1481961>>1482020Что-то туплю.>кстати, что по твоему значит фраза "значение списка"?Ну я имел в виду, что мол 1 - это значение первое из списка b, а майнкрафт - первое знаечение из списка a
Делаю для телеграмм бота, почему после того как нажимаю ран, он выдает "Process finished with exit code 0", т.е. как я понимаю после bot.polling должен ожидать сообщения мои, но он запускается и заканчивает, в чем у меня проблема?
https://pastebin.com/zq27pvweСап, хочу сделать простой счетчик слов. Но, что бы не было лишних символов, почему то остается "-". Если я его включаю в forbidden - ошибка, без него все ок. File "/count.py", line 17, in sort something = something.replace(something, '')AttributeError: 'list' object has no attribute 'replace'Вообще не понимаю, почему так?И норм ли такая сортировка вообще? Просто я только учусь
>>14824341) Нахуя ты делаешь реплейс списка?2) Если ты собрался отсекать только отдельные символы (которые отдельно от слов), то лучше делать .isalpha()
>>1482434>>1482444addЯ вообще не понимаю что ты высрал...Там достаточно прочитать текст в переменную и сделать (офк если ты отсекаешь ток символы которые вместе со словами)return sum(v.isalpha() for v in переменная)
>>1482441А может ты? Длину списка вычислять, блять, после не менее затратного процесса его создания. А если у него там миллион слов?
>>1482491ну земля говном тогдаДед-алгоритмизатор, ты? У чувака с хеллоувролдами проблема, а не тестовое с бигдатойПочему не доебался что будет в случае с множественными пробелами?
>>1482491>>1482434Специально для дауна который не осиливает миллион слов (чуть больше, сорри).К нуфагу вопросов нет.
>>1482497Потому что была цель доебаться только до этого.>>1482507Сань, хуй соси. То, что можно сделать через две-три строчки с циклом и счётчиком в нём, приходится делать по-индусски, но зато В ОДНУ СТРОЧКУ! СМАРИ, КАК МОГУ!
>>1482533Хорошо, выражусь иначе: он эквивалентен предварительному созданию списка всех слов и вычислению его длины, что для данной задачи чем-либо кроме индусского кода назвать нельзя.
>>1482554>типичный fizzbuzz однострочник>индусский код>>1482578Он бы создал цикл и прошёл по всему стрингу, ведя один счётчик, обнуляющийся на каждом пробеле или символах из форбидден, и инкрементирующий другой счётчик, если между этими символами были буквы. Ещё ему там нужно продумать разницу между дефисом в слове и дефисом отдельно, дефис будет как-то отдельно. Получится куча говнокода с той же линейной асимптотикой
>>1482441>>1482444Я понимаю, что скорее всего слишком много написал хуйни в коде конечно, но мне нужно не просто посчитать слова, а сделать вывод повторяющихся, но что бы там не было лишних символов. И вывод должен быть такой, только почему то "-" мешается и его нельзя поместить в forbidden >>1482434>Сап, хочу сделать простой счетчик слов.И да, я ошибся немного. Счетчик повторяющихся слов* Просто думал по коду и так понятно будет
Помогите бля.Текст задания: Дан номер дня недели. Выведите название дня недели.Хочу чтобы если вводишь числа не в диапазоне (1-7) он предлагал ввести еще раз, в турбо си можно было делать goto, а тут, как я понял, нельзя. Че делать, ебать?
>>14826321) Так и не понял зачем тебе json2) Лучше делать проверку слова на isalpha и если не проходит чекать по буквам
>>1482636>2) Лучше делать проверку слова на isalpha и если не проходит чекать по буквамА если вообще вот так сделать https://pastebin.com/4jCrnC67 ? И работает кстати нормально, и выглядит уже получше>>1482636>1) Так и не понял зачем тебе jsonПросто лишний раз попрактиковаться
>>1482649if 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())Ток с дефисами над чет думать
>>1482434Слова с разными окончаниями считаются как одно слово или 2 разных? Если уж начал капаться в этом, то посмотри на nltk.tokenize.word_tokenize(). Он тебе сразу всю пунктуацию выпилит и слова разделит. Останется только посчитать их.Хотя за скорость работы не ручаюсь. Понятия не имею, сколько оно займёт по времени, но вообще у tokenize есть разные токенизаторы и работают они по-разному. Можешь в них покопаться, если в производительности есть смысл.
>>1472577 (OP)Подскажите плз, какие знания необходимы для среднего джуна в питоне? Что нужно знать и уметь способным написать? Я не физик/математик, потому, наверное, научная деятельность и рассчеты не в приоритете, так что вопрос скорее о вебе, ботах, автоматизации, какие там еще направления быть могут
>>1482616Пиздос, ты хоть пробовал какую-нибудь книжку по питону почитать (хотя бы пару глав) прежде чем начинать писать код?
>>1482822А хули он у меня когда 2 отступа стоит и в настройке и в коде, код забагованным получается, хотя отображается правильно? В блохноте открываю а там всё наперекосяк. Так всё в нём нравится, если бы не это.
>>1482907Я у себя настроил табуляцию как четыре пробела. Все работает, полет нормальный. Ещё немного и отдам 80$ славным разрабам.
>>1483037По дефолту так и стояло. Но сразу менял на 2. Наверное баг. Потом запаришся исправлять код после него...
Аноны, горит лаба по питону, до этого никогда его не изучал, а это, собственно, первая дальше по программе языка не будет, поэтому совсем не ясно зачем такое вообще включилиhttps://ideone.com/D7Xmc4Су
>>1483117Суть в том, что нужно сделать вывод в историю вообще всего, а не только запроса на сайт (там есть Info, но в историю почему-то не сохраняется)Молю о помощи
Как в питоне красиво записать цепочку условий? Допустим у меня есть if с 4 выражениями, через перенос строки смотрится всрато, через лесенку из if'ов тоже всрато, что делать?
>>1483147НетЕсли точнее, у меня есть 4 выражения, нужно вернуть одно, когда они все True и что-то другое в обратном случае, но в одну строчку смотрится всрато
>>1482974Боты/парсеры и всё что около них. С этим проще всего войти и поднять начальные деньги. Если будешь знать Flask какой, то ты уже очень неплох и можешь в клиент-серверные приложения.На работе уже нужен набор посолидней. Уровня RabbitMQ/Redis/Celery, попутно с этим Django/Flask/aiohttp/Tornado, а также надо бы знать за тестирование(виды и способы). Иногда требуют голый питон(да, недавно узнал что и так можно работу найти), но для этого надо зубрить питоновские доки и ООП.На джуна тебя будут спрашивать поверхностно, с мидла уже спрашивают глубже, с юз-кейсами и прочими радостями.
>>1483147Ну нету в питоне ебанного свича, как и нету цикла do-while>>1483152Не так часто нужно 100500 условий проверять одновременно, поэтому оправдано любое из этих решений.
Кто vsc юзает, как пофиксить такую хуйню в консоли на пикрелейтед? Смена цветовой схемы не помогает, все равно нихуя не видно из-за этого ебаного выделения.
>>1478942ну так на графике видно, что нет у тебя никаких значений на 18 число.при этом масштаб легенды = 1 день, вот либа и вставляет этот день на легенду, чтобы график правильный был. Поменяй масштаб легенды, там и не такое появится.
>>1483189Вскод тут непричём. Это цветовая схема терминала используемого тобою. В крысе это, например, xfce-terminal. Фиксится изменением цветов в конфиш файлах.https://askubuntu.com/questions/676428/change-color-scheme-for-xfce4-terminal-manually
>>1483310Да менял я тему в wsl чет все равно такая же говнина. Если в вскоде тему менять, то цвет выделения тоже меняется, но не особо читаемо все равно, да и тема меня не устраивает.Ну ладно, это не критично, просто неприятно.
>>1483346Илиот ты ебаный, при чем тут wsl, vsc??? Ёбаный ты кусок дегенерата, сходи по ссылке и измени foregroundcolor, ебанутый кусок дерьма ты.
>>1483452притом, что консоль в вскоде от всл, ты последок сутулого пса, сходил тебе за щеку и изменил микрофлору твоей ротовой полости методом орошения.
>>1483721Дебила ебаного кусок, ещё раз тебе повторяю спермохлёб ды задроченный, терминал в прыщах наследует тему из конфиг файлов. В гуи настройки как раз этмх файлов. Ебанашка ты тухлодырая.
>>1483748Повторяю тебе ебаному куску дерьма, что у меня не прыщи тем более крысиные лол, я же не умственно отсталый, а wsl ебанько блядь конченноеОставляю тебе право на последний, бесполезный как и остальные, кукарек.
>>1483763Я тебе последний раз дегенерату ебаному объясняю, что дело не в wsl и том, что у тебя не прыщи. Прыщи у тебя обмудка ебаного внутри wsl!!! Всл это виртуальная машина с образом прыщей. Блядота ты необразованная, ято же ты за залупа такая конченая то. Сука, как ты вымораживаешь уже вовремя не вынутый хуй из пиздятины.
Нормальная ли идея изучать питон для прикладных программ под винду?Я не погромист и это не для коммерческого использования, чисто для себя скрипты и т.д.Есть опыт использования делфи в таком же ключе. Есть ли библиотеки под питон для подобного построения гуя?Вроде питон не идеален под это, но он не сложный и широкого назначения, может пригодится потом для других задач, поэтому выбор пал на него пока.
>>1483799хуесос ебаный мать твою ебал гнида блядскаятам такие же прыщи как на жопе твоей мамаши отрисовка консоли виндовая ебанько тупое мразь тупоголоваяскот блдьЕще раз тебе говорю еще раз блядский сука разменял я ебаную темуне работает нихуяпошел нахуйвсе умолкни, птушник.
>>1483804Шлюха ты с обдроченными губами сука твою гей шлюху отца ебал!!! Нет никакой отрисовки сосноли виндовая. Идиота ебаного кусок тебе говорят править тему внутри wsl, ты сука ебаная вообще нихуя не понимаешь что ли? Дебила ебаного кусок сука боядь. Гниба ёбаная по ссылке выше попробуй внутри wsl изменить конфиг и увидешь, что твой терминал изменит цвета. Мразь вонючая ты уже конкретно бесишь блядота губастая.
>>1483817>Еще раз тебе говорю еще раз блядский сука разменял я ебаную темуНу ты и дебил блядь) Иди ковыряй свой прыщикс, у меня другие проблемы.
Какие задачи можно порешать для закрепления навыков?Прочитана книга "Укус пистона", немного полистал лутца и еще пару книжек. Сейчас читаю " Автоматизацию рутинных задач на языке Питун" на мой взгляд лучшая книга из прочитанных.Олимпиадные мне не подходят, там упор на математику, а у меня с ней oche huevoХотелось бы чтото близкое к реальной разработке на веб, боты-хуеты, парсинг. Думал может запилить рпг, но в ооп пока могу слабо, хоть и понимаю основную идею. Хелп аноны, пока есть мотивация надо пушить это дерьмо.
>>1483875И еще такой вопрос, что читать чтобы понимать основы погромирования, проектирования программ не привязываясь языку питун. Вот задумал я игру на ооп, как мне эту пирамиду ебаную построить правильно?Блок схемы рисовать? Цикл вуле, прорисовка обьектов это ж пиздец какойто. А можно прям в консоли чтобы графика была символьная? Хотеть такое.Ведь одно и тоже говно можно написать на разных языках и делоть оно будет тоже самоеНаверно мне алгоритмы нужны, а как их составлять самомк? Короче вопросов очень много.>>1483881 благадарю
>>1483802Если для себя, и гуй не сильно сложный, то почему бы и нет? Хотя для винды такое обычно на C# делается.
>>1483887Ну собственно вон по ссылке можешь видева смотреть ет вводный курс во все говно, что ты хочешь знать , будешь знать основные структуры данных, алгоритмы. Те кирпичи на основе которых строишь приложуху.
Как GIL решает чья треда очередь сейчас выполняться и захавать блокировку интерпретатора? В ситуациях когда выполняющийся тред делает join или в блокировке сычует это понятно, а вот когда main тред например в бесконечном цикле выполняет важные вычисления (3 + 3), как GIL что сейчас в этот тик он дает врем main треду, а в другое одному из сотни других, запущенных в бэкграунде?
>>1484077Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты.
>>1484006Очерёдность выполнения потоков определяет интерпретатор в зависимости от реализации.С Википедии взял. Сам в душе не ебу и тоже жду ответа на вопрос от знатоков, а то на собесе всплывал такой вопрос, а я нихуя не ответил.
>>1484161Да они ебанулись.Тут единственно верный ответ - "выбирает исходя из своей внутренней логики"
Так то GIL будет при обнаружении блокировки IO передавать контекст исполнения следующему треду, а при отсутствии блокировки по истечении н тактов следующему таску в соответствии с реализацией логики планировщика
>>1484171>Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты.почти все сишные либы тред-сейф и не используют шаред мемори. Те что не тред-сейф написаны чмохами типа тебя
>>1484177Всё так, потому что толку от того что собеседующий лезет под залупу - никакого нет, больше похоже на ЧСВ-еблана, который что-то где-то узнал и теперь ходит и у всех спрашивает.
>>1484177Может и ответ. Я тогда вообще ничего не ответил, потому что мне вообще похуй, чо там происходит по факту. Только после собеса я начал копаться в этой хуйне немного и набрёл на этоот ответ из Википедии, вот и всё.
>>1484171А без этого питон был бы как руби, только еще дальше - потому что питон отвратительная хуйня, где не осилили ООП и в частности инкапсуляцию, а руби хороший язык. Проще говоря, без этого питон был бы скриптодрисней для админов и отдельные сумасшедшие писали бы на нем веб. Никакого ML, CV, DS бы не было.
Сап господа, недавно вкатился в python, пишу для телеги бота, подскажите, как то можно прикрутить бд к боту? т.е., чтоб у пользователя(чата) хранить данные такие как Имя, город, телефон, еще какой то важный айди который я в последующем буду использовать? как это реализовать? быть может на ютубе есть че по этому поводу глянуть?
>>1484207>sqlalchemy Эта хуйня уже устарелаче там вместо нее я не запомнил, но запомнил, что устарела!
Может кто-то помочь, вообщем делаю парсер с помощью 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