Анон, вместо того, чтобы без разметки постить код, лучше шарь код через специальные ресурсы: 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 > такой призовой фонд даже на весь гд собрать невозможно Ну да. Я от себя предлагаю такой призовой фонд. Если кто-то тзахочет добавить - ю ар вэлкам. Потрачу время на чтение кода и тестирование игр, для этого ж все и делается.
Буквально пару дней назад начал пилить по просьбе из /gd/ раздела. Пока что два урока, но зато очень подробно. В ближайшую неделю напишу еще штук 5 уроков со всеми нужными для RPG функциями
Как раз хотел спросить в /pr, кому-то здесь инетересен мануал по созданию RPG на Python? Алсо зацените блог, что думаете насчет манеры подачи инфы, дизайна?
>>1472807 И кроме того, что был упомянут pygame, ни слова про кодинг не увидел, вообще ничего. Короче, нахуй эту тему. Пусть создает отдельный тред, может кто с других языков заинтересуется, но я очень сомневаюсь.
>>1472577 (OP) Аннуннаки, есть ли вариант тестировать сайты, которые написаны вдоль и поперек на жабаскрипте? Тут только какой-нибудь селениум поможет, или requests+bs4 уже научился справляться с такими сайтами?
>>1472776 Я бы с удовольтствием поучаствовал бы, такой то развивающий челлендж. Но пигейм не учил, т.к. он мне не особо интересен для изучения, и вабще, впереди ещё 300 страниц книженции по пайтону... Мимо-нюфаня.
>>1472826 300 страниц не обязательно читать Палю годноту: codecademy.com/learn/learn-python нажимаешь Start регаешься по-быстрому, можно на фейкомыло и начинаешь обучение. Читать много не нужно, все кратко и по теме. Будешь сам кодить и смотреть как твоя программа работает в каждом уроке. За 1-2 дня станешь полноценным питон-кодером.
>>1472837 Я уже освоил укус питона, писал мелкие софтинки, сейчас более углублённую книженцию на 700 страниц читаю, которая посвящает в мелкие детали, которые не даёт базовый курс + дополнения - сейчас SQLite прохожу.
Питононы, вопрос от мимо проходившего офисного планктона без опыта программирования. Нужно: накидать скрипт, который будет сравнивать периодически выгружающиеся из базы данных таблицы Эксель и уже существующей, в которой собраны неактуальные, но остающиеся в базе данных строки. То есть из каждой новой выгрузки я хочу скриптом удалять статичный набор строк (чтобы не делать это вручную каждый раз). Мне тут какую библиотеку надо использоват? Панд?
>>1472847 делаю по примеру, найденному в интернетах. когда копирую код оттуда и использую для примера две таблицы с гитхаба автора, все работает норм. если я заменяю данные в ячейках таблицы (сохраняя названия колонок), ловлю ошибку:
KeyError: 'passes columns are not ALL present dataframe'
мой планктонный далекий от программирования мозг не в силах понять, что я делаю не так.
>>1472791 > Иди нахуй отсюда. Нет ты. >>1472776 Выглядит интересно, почитал, буду следить. Записал тебя в желающие, но надо хотя бы ещё пару человек. >>1472826 Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет. >>1472884 Это конкурс, а не работа. Я лично каждому победителю готов выдать оговоренный приз(по 200$) + доп. призы тем кто постарается, но не победит. Если есть спонсоры - можно увеличить призовой фонд, но для этого надо вначале желающих набрать. Платить за участие не надо.
>>1472917 >Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет. Кивя и Пайкт у меня та же в планах изучеия. К ПайКт приступлю в ближайшее время - ей как раз посвящена часть моей книги, киви собирался изучить чуть позже, в рамках попытки изучить кодинг под мобильнички. Олсо, не знал что най пайкуте можно игры делать, лол.
Работает обычно правильно, но периодически возникает ошибка и числа при дешифровке меняются. Типа такого: https://pastebin.com/9QXNMCju
Это переполнение? Но я думал, в путоне длина чисел нелимитирована. Или это из-за модульных вычислений? Но я, вроде, пытаюсь бороться с этим. Ограничил максимальную зарплату минимальным n, да ещё и вычел из неё дополнительно, чтоб даже близко к границе не подходило. Посмотри, анон, а?
>>1472824 Нет не научился. Бери селениум и в путь. Хотя, смотря что тебе тестить надо, если апи, который дёргает жабаскрипт то можно реквестами, если же UI то тут без вариантов.
Есть варианты сделать компактнее выражение [[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)]
Ещё пять минут подумаю, мне кажется и это можно улучшишь. Хотя так уже читаемо
Репост из предыдущего треда. Посоны, а кто-нибудь может мне помочь с ткинтером? Написал небольшой парсер файлов игры, и нужно через ткинтер забубенить вызов функции отрисовки и перевода содержимого файлов, но никак не могу догнать, как это сделать среверс-инженирить похожие проги не получилось Не хочется тут палить код, так что телега 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.
Объясните, пожалуйста, что делает функция check_ticket? Понятно, что она сравнивает элементы в массиве, но каким образом возвращается true?
# окей, чекаем каждый элемент в первом списке for element in played_ticket: # далее смотрим, есть ли этот элемент во втором списке if element not in winning_ticket: # если элемента нет, то возвращаем False return False # далее, уже не в теле цикла мы все равно возращаем True return True
Какой тогда смысл в нашем сравнении? Чет мне кажется, что я жестко туплю.
>>1473331 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
Хочу импортить как из фласка, или овердохуя откуда, типа: 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 Короче как православно запилить пакет/модуль для собственного использования?
>>1472577 (OP) Помогите с проблемкой. Осваиваю ООП. Написал код с графическим интерфейсом, который проводит определенные расчеты, на пике часть от этой программы. Сейчас решил представить этот код в виде классов. Создал класс с постоянным полем, который содержит строчки, необходимо вывести эти строчки в главном окне, но если внутри класса передавать аргумент root, то выдаёт ошибку. Каким образом засунуть эти строчки в главное окно? И вообще верно ли я делаю это, может лучше создать класс с атрибутами строка и поле для ввода? Вот ссылка на код, если надо https://pastebin.com/LgtTquDE
>>1473461 Не понял что у тебя за ошибка, но попробуй добавить родителей, т.е.: __init__(self, root): self.root=root И потом пробуй self.root вместо обычного
>>1473461 Ярик, проблема в том, что ты определяешь класс, в котором используешь переменную, которая никак не определена на момент создания самого класса.
Я, к сожалению, сто лет не трогал tk и даже примерно забыл, как там, чтобы оценить остальное и чего дельное посоветовать.
Ты определяешь labels как переменную внутри класса, а не экземпляра класса. То есть ошибка более глобальная, в понимании судя по всему. Тебе надо скорее всего примерно так: class lab_ent: .... def __init__(self, root): ........self.labels = Label(root) ................
>>1472577 (OP) сап, есть цикл вида for i in range(x): В цикле проверяется условие и если оно верно то нужно перескочить на следующее i. Т.е грубо говоря цикл начинается с 0, если внутри выполняется условия я хочу сразу перейти на 2, пропуская 1. Но i += 1 не дает должного результата. Как это сделать?
>>1473356 Да, именно. Спасибо. Тоже была идея запилить функцию для произвольной высоты "пирамиды", но пока нет такой необходимости. Впрочем, до использования остатка я всё равно вряд ли бы додумался.
>>1473674 > 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:")))
Если кто понимает в numpy и pandas, хочу нормализовать данные формата datatime64 в значения от -1 до 1 нашел такое решение, https://stackoverflow.com/a/31048949 вроде работает, но я не могу понять, что происходит на этапе, когда данные формата datetime64, полученные из строки, преобразуются в int64 df['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 Request
Request()
>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'")
Какие магические методы я должен добавить в свой класс, чтобы он поддерживал сортировку по определённому атрибуту с помощью функции sorted()? Одних операторов сравнения хватит? Или я вообще перефантазировал, а на практике это никак нельзя реализовать?
>>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. Всё это разные направления.
Анон, подскажи нюфагу с чего лучше начать изучение django чтобы было понятно и нормально написано как запустить, установить, базовые операции и т.д. я про книги или курсы
Какой либой я могу взять, создать изображение с белым фоном, нарисовать на нем квадратики и круглешки, и при этом иметь возможность преобразовывать это изображение в обычный список трехмерный?
>>1474304 Друшака, будь внимательней. А вообще - нахуй регулярки. Никогда не любил этот неликвид. Что-то сложнее твоего примера очень трудно править. Особенно когда в каком-нибудь роутинге юзается с десятками вариантов значений.
Есть ли d flask-sqlalchemy способ автоматизировать добавление в таблицу строк с foreign key, чтобы при надобности в дочерней таблице создавлась нужная строка? Я что-то такое припоминаю, но на стекоферфлоу говорят такое по умочанию нигде не автоматизируется.
Приветствую всех гуру математики и графиков итт. Помогите разобраться с задачкой, пожалуйста. Всё что нужно, сместить эту часть влево, а я сколько функции не менял, оно либо пропадает, либо график соединяется.
>>1474482 Как вариант - умножить аргумент в cos(x) - 3*sin(x) на какое-нибудь положительное число, чтобы "сжать" график по оси x. Ну и твоё условие в func2 под это подогнать.
Подскажите библиотеку для визуализации данных. Мне нужно визуализировать данные с крипторынков, разные графики, свечи, объемы и прочее дерьмо. Знаю про https://bokeh.pydata.org Но может есть что-то лучше для моих целей?
Юзаю питон для написания автотестов, возникла задача в рамках теста поднимать мок-сервер, чтобы поймать запрос тестируемого приложения и подсунуть ему готовый ответ. Есть ли какие готовые библиотеки, чтобы это легко сделать? мимотестировщик
>>1474224 Там ни слова про книгу "Изучаем Python" Марка Лутца, хотя она повсюду как одна из лучших для начинающих. Есть тут люди, которые шарят, знакомы с литературой? Также вопрос по SICP. На самом ли деле это такая годнота?
>>1474536 >requests-moсk гугли такое Если я правильно понял, это для юнит-тестов питоновских приложений. А у меня тестируемые приложения некоторые на яве, некоторые на го, на питоне пишу автотесты.
>>1474551 Начни с чего попроще. Я начал вообще с "Python. Введение в программирование" Линк => https://younglinux.info/store/store.html Супер понятная книга. Могу конечно скинуть книгу, но блин, она всего 39 рублей стоит.
>>1474551 Столько воды, сколько в Лутце, даже в моём дипломе не было. Мне зашла книга "Программирование на Python 3" Саммерфилда. То же самое, но сжато.
>>1474871 Есть приложения, которые пишут программисты на яве и го. Я пишу автотесты для этих приложений на питоне. Приложения взаимодействуют с базами, а так же иногда между собой по http. Отправить мой запрос приложению я умею, но в некоторых случаях приложение отправляет запрос само. Вот эти запросы от приложений мне и нужно перехватывать и подсовывать заготовленные ответы. Я могу редактировать конфиги приложений, чтобы направлять их на выполняющий тесты компьютер, но я не могу изменять код приложений, они разворачиваются на тестовых серверах в уже скомпилированном виде.
>>1474939 > мне и нужно перехватывать и подсовывать заготовленные ответы Я бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им. Но я не тестировщик, я бэкэндер, так что хз на сколько это правильно, но других вариантов я не вижу.
>>1474942 >Я бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им. Я вот думал, что кто-нибудь уже запилил для этого библиотеку, чтобы не писать это самому, и как раз поинтересовался.
Задача, есть какая-то консольная прога, которая раз в секунду выдаёт сообщение в stdout. Работает она очень долго.
Надо, запустить её из питоновского скрипта через asyncio, и по ходу того, как прога что-то выдаёт, читать это и обрабатывать.
Пытаюсь делать через asyncio.create_subprocess_exec, но засада огромная. Все методы, которыми можно данные считать оттуда, выдают их только после того, как субпроцесс завершится. А мне надо сразу.
Много чего пробовал, не получается никак. Это с asyncio вообще возможно сделать? Без были пути с fcntl, но тут походу даже и так нельзя.
Привет, пытаюсь залить приложение Django на хостинг. Весь функционал в порядке, только не загружаются static и media файлы. Хостинг на nginx. В консоли видно что идёт запрос в папку www.site.ru/static/... Как можно настроить загрузку файлов хостингом?
А кто-нибудь 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. Взять значение 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"}...}
Анон, подскажи, есть идея сделать легковесную программу для определения полей допусков по квалитетам и диаметру, ну и в обратном порядке, как в любом 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. Как по мне, норм кинига - антонио меле(и похуй что для старой джанги). Чуть выше, в треде, советовали ещё другого автора, полистай.
>>1475295 только тутор, остальные не мог(либо половина либо уже где 90% было сделано) потому что джанго начинал мозги мне ебать и показывать что ошибка в синтаксисе хотя с ним все ок было
>>1475304 алсо, трабл в том что нигде нормально не объясняется что такое модели, формы и вьюхи из за чего я не могу понять просто что от меня нахуй требуется и из чего стоит сделать модели, на основе них сделать формы и как связать с вьюхами и сделать все это через нормальный адекватный редирект
>>1475311 Модели - таблицы в БД. Как и на основании чего строить модели - отдельная тема о высоких материях. Вьюхи - твой бэк для HTML страниц, если просто. Формы - ну собсна твои формы, по которым тыкает юзер и что-то выбирает. >>1475304 > только тутор Поиграй с тутором, поизменяй разные параметры/поля, кастомизируй его.
>>1475377 Задание у тебя простое, для того что бы его выполнить, тебе нужно понять суть, поигравшись с примером ты, возможно, найдёшь зависимости и постигнешь дзен.
>>1475380 ну вот постепенно начинаю понимать что то модели - это мои ученики (с данными в виде города возраста, имени,емейла) и учителя(город, имя) вьюхи - это то чтто будет выводить на экран форма - это выбор в виде ответов на вопросы или же на главной где меня редиректит все верно? >Задание у тебя простое да я понимаю, но как реализовать все это через джангу пока трудно понять. если бы сказали на питуне сделать было бы в разы проще
>>1475394 > все верно? В общем и целом - да. Если это учебное задание, то точно да. Но я бы ещё рассмотрел такой вариант: сделать ученика и учителя как одну модель, выставив только тип(ученик/учитель).
>>1475401 Можешь поделиться ссылочкой? Получил машиностроительное образование, работаю инженером-технолухом на заводе и никогда не слышал про такой расчет. Всю жизнь поля допусков беру по справочникам. Что-то мне подсказывает, что ты заблуждаешься.
>>1475579 Зачем и куда yfunc у тебя возвращает False? Это нахуй не надо. И всё можно оформить через обработку ZeroDivisionError, хотя бы ради стимуляции обучения. Раз уж учишь Питон, то почитай про исключения, ибо они тебе в перспективе могут понадобиться.
>>1475608 Оно и не станет работать лучше, потому что функция sqrt() у тебя так и не определена.
>>1475628 Я не хочу быть программистом, если уж прям надо будет, то как-то само найдётся, прочитается. А вообще спасибо. >>1475609 Спасибо, дружок пирожок. Всё работает.
Опытные подскажите, я как полный ноль решил начать изучение питона с лутца изучаем питон, но начав читать решил , что перейду к этой книгище позже, по советам решил почитать the byte of python, но на русский переведена она только для питона 2, так вот вопрос, принципиально ли для меня новичка, что я прочитаю эту книгу по 2 питону, когда все настоятельно советуют работать по 3
Ребята, мне тут нужно кинуть джепег на 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 Во воьюхе обращайся к модели, выгребай учителей, передавай список в хтмл файл, там по списку пробегайся и выводи список по элементу. Но ты всё ещё не понял фишки и сути, так что ...
>>1475782 >передавай список в хтмл файл, там по списку пробегайся и выводи список по элементу а как конкретно это сделать? остальные два пункта сделал, но в этом теперь проблема из за чего просто выводится пустая страница с заголовком СПИСОК УЧИТЕЛЕЙ
>>1475514 Окей, сам уже вчера нашел после того, как написал ответ. Нашел ещё на гитхабе калькулятор овз какого-то казаха, вот он тоже тупо все отклонения в массивах держит. Но там все на js написано (сложно в коде разобраться), зато по-богатому мультиплатформа.
>>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():
>>1476410 tmp = 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 и т.д., но захотелось навернуть говна.
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, что через пуск она по другом себя ведёт.
Я ее решил как на втором пике и числа любых размеров сразу кучей он считает за доли секунды. Пишу тоже самое на сайт - в автоматических тестах получаю ошибку, мол дохуя думает, хотя там ничего сверхсложного нет. Это проблема сайта, или у меня что-то не то?
>>1476837 Что-то мне подсказывает, что существует алгоритм в разы более быстрый - без необходимости сортировки и прохода цикла огромное число раз за счёт уменьшения исходного числа на единицу (!). Как вариант - просто переставлять местами последний и предпоследний разряды в исходном числе. Если получается число меньше исходного - возвращаешь его; иначе возвращаешь -1.
>>1476837 У тебя чудовищно неоптимальный алгоритм, и неверный. Вот для числа 100000000 он должен вернуть -1, нет такого числа.
Сколько времени твой алгоритм будет работать для числа 19000000000000, где следующее число будет 10900000000000? Очень долго. А в условии сказано, что числа могут быть очень большими, то есть там могут быть десятки тысяч знаков уж точно.
Если число представить в виде префикс + суффикс сколько-то разрядов префикса, сколько-то суффикса, то
1) суффикс не может быть уменьшен только в случае, если он отсортирован от меньшего к большему, вот как тут 00015589 это минимально возможное число.
2) идём слева направо, начиная с двух разрядов. Если текущий суффикс нельзя уменьшить, то добавляем один последний разряд из префикса. Если теперь суффикс уменьшаем, то вынимаем из него цифру, максимально большую, но меньше той, что взяли из префикса, из оставшихся строим наибольший возможный суффикс и возвращаем число. Если не уменьшаем, то идём дальше.
Если в суффикс попало всё число, и по итогу получилось, что старший разряд = 0, то возвращаем -1. Ну либо если итоговый суффикс всё равно не уменьшаем.
>>1476837 Можно же разбить число на массив, сортирнуть, сравнить с исходным, если получилось другое число возвращаем его, если нет или в начале 0 то -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.
>>1477718 Короче, делай в любом случае через прокси, у меня телега запускается, а к апи бота не обращается. Погугли свободные прокси и как в библиотеке реквестс прописать прокси.
>>1477723 >питон - самое простое, что может быть в мире программирования Ниет. Самое простое у байтоебов это ассемблер, а у скриптоблядков самое простое это форт.
>>1477738 Да я не спорю что питон очень ценный. Питон охуенен
Просто в этом треде дохуя постов о том, как ИЗУЧАЮТ питон по каким-то книгам.... нахуй настолько простой язык изучать по книгам. Все обучение питону умещается на 2-х страницах текста
>>1477740 Ну, если рассуждать с этой позиции, то на изучение синтаксиса вместе со встроенными функциями, типами и соответствующими им методами у человека, знакомого с программированием, может уйти меньше дня. Я плохо знаком с литературой по Питону, но могу предположить, что в хорошие книги по нему вполне могут быть добавлены примеры работы со встроенными/сторонними библиотеками и прочие полезности. Остальные же из них рассчитаны на новичков, которые с программированием знакомы чуть менее чем нисколько.
>>1477730 >>1477728 Всё сделал, всё работает, спасибо за помощь. Пользовался telebot.apihelper.proxy = {'https':'socks5://username:password@adress:port'} если что.
>>1478208 Делаешь функцию, которая из имеющегося списка всё аппендит в новый, но если она встречается список вместо числа, то вместо аппенда вызывает сама себя на этот список.
В задаче, конечно, хотят, чтобы решали через рекурсию. Но это не интересно, скучно. По-моему это делается даже проще самыми штатными средствами питона, но сейчас не понимаю.
Хоть тут и извращение, но скорее всего оно будет работать быстрее, чем реализация через рекурсию. В реальном коде такой подход очень даже оправдан.
Мало-мальски нормально никакой язык за несколько дней не учится. Если ты круто умеешь писать на Java/C++, то основной синтаксис очень быстро освоишь и писать как-то сможешь, но особая специфика языка требует уже больше времени, и по-началу будешь писать на питоне так, как на C/C++/Java, только убого, поскольку питон это не C++/Java.
Язык это не только синтаксис, это ещё и масса практик, как на этом языке грамотно писать. А это уже времени требует и реального опыта.
Возник такой вопрос. Мне нужно в __init__ передать неопределенное количество аргументов, например: className("1", test="3", procedure="10"), с учетом того, что test/procedure - это рандомные имена. Как это сделать? Гуглил по поводу super, но не смог врубиться. Спасибо за помощь.
>>1478435 Написал бы хоть, какую именно "ту же ошибку". По твоему описанию необходимо что-то вроде __init__(self, arg, kwargs), что лично у меня работает без проблем.
>>1472577 (OP) Кто работал с FreeCAD помогите плез. Буду очень благодарен за помощь. Пытаюсь импортировать FreeCAD в python. Но выдаёт ошибку, что модуль не обнаружен. Делал всё по инструкции по ссылке https://habr.com/ru/post/464113/#III , а так же еще 200 различных вариантов с указанием пути(как на втором пике). У меня установлен python 3 и FreeCad 0.18.
>>1478561 1, Разве так эта херня работает? Сколько раз юзал фрикад - писал скрипты именно для внутреннего запуска из фрикада. 2, Версию для 3 пистона подвезли? Вроде ж только вторая была.
>>1478563 1. Ну насколько я понимаю можно как из фрикада юзать, так и использовать фрикад как модуль импортируемый 2. Вроде как да, по крайней мере вот ссылка https://www.freecadweb.org/wiki/Python_3 с их же сайта, но пока что вариант, что это ошибка из-за разных версий питона тоже рассматриваю.
Я обычно читаю условие, и не глядя на решение, стараюсь написать код сам, а дальше уже сверяю.
Вот есть у меня такой отрывок: 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. Почему так?
И еще, гуглил, там кидали ссылки на документацию. Мне идиоту ничего непонятно, как быть. Я читаю и понимаю, что ничего не понял.
>>1478668 Тебе твой эксель показывает не то, что в файле на самом деле. Смени представление данных у столбца на текстовый формат, например, и ты увидишь.
привет программач в общем такой вопрос к уже прошаренным: у меня есть некоторый код в котором есть своеобразные чекпоинты. логика следующая: если чекпоинты эти не проходятся то код ниже до определенного этапа выполнять не надо. так вот я додумался это сделать следующим образом:
decision = False while not decision: some code some code some code decision = checkpoint() some code decision = checkpoint() some code break Вопрос вот в чем: ТАК ДЕЛАТЬ ВООБЩЕ ЛЕГАЛЬНО? может быть я просто не знаю как подобную хрень организовать мимоньюфаг
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)
>>1478942 > НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2) Ты шо тупой, график по точкам строится. Он просто между 17 и 19 провел линию. И открой для себя pandas
>>1478953 Ясно же, что он не про линию между 17 и 19, а про 18 февраля на оси x, которого там не должно быть, так как оно отсутствует в переменной dates.
Ну или, как вариант, mathplotlib достроил его самостоятельно, но лично мне это кажется довольно странным решением.
>>1478953 Я по книге делаю, мне по сути ни для каких задач он не нужен, просто интересно почему появилось 2018-02-18 если в dates этого значения нет (смотри выше)
>>1478960 >Естественно если хтиксы не выставлять мпл сам их достроит Подскажи нубасу, плс, что это значит. Откуда он догадался, что там именно 2018-02-18, а не любое другое число?
>>1479333 Так я и определил, у меня есть два списка temperature и dates. Оба списка одинаковой длины, как я говорил выше, 2018-02-18 там и в помине не должно быть, странно что он добавил его. Список temperature по оси y, dates по оси x.
получаем No module named 'win32api' Пробовал с таклое же с другими модулями и они работают.
Если я устанавливаю pypiwin32 в систему или в venv, то импорт работает. Пробовал шаманить с sys.path, модуль стало находить, но не может теперь найти какие-то DLL, названия которых он мне не сообщает.
Сап,питанули, освоив некоторые азы питона, решил начать учить джаву, и по мере ее изучения, постоянно возращаюсь и к питоновской документации, питоновским основам: к типам, их особенностям, к типизации вообще, сравниваю реализации сборщика мусора, насколько они важны для обычного челика, особенности ООП.
В общем, у меня вопрос: вот такое постоянно "переотркытие" и погружение в глубь - это норма или просто я тупой?
Обнаружил, что 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:
У меня есть класс Point, мне нужно с помощью метода repr сделать такой вывод. points = [Point('A', 0, 3), Point('B', 4, 0)] -> [Point('A', 0, 3), Point('B', 4, 0)] Не могу сообразить как на выводе выдавать класс в таком формате. Буду рад помощи, спасибо. https://pastebin.com/pk0ys3aD
Когда я преобразую целочисленый тип (int) в двоичный (bin), то последующие попытки преобразовать это значение в (int) выдают ошибку ValueError.
Значит, на сколько я понял, после преобразования, значение становится, допустим, 0b101 (число 310), то есть имее в себе буквенный знак, то есть становится строковым.
Вообще, для чего 2-,8-,16-ричные типы имеют 0 в начале?
Есть датафрейм пандаса (изначально csv файл). В одном столбце названия файлов, каждый файл два раза встречается в столбце. В другом значения true / false. Нужно вывести названия тех файлов для которых оба раза значение во втором столбце было true. Нихуя не понимаю как это сделать и нужен ли вообще пандас для этого? Вообще в таблице больше столбцов, но речь идет об этих двух.
>>1481461 пока что дошел только до такого решения, что оставить только те строки у которых значение во втором столбце true, а потом только тес строки которые два раза встречаются. Но мне кажется, что это слишком кривой костыль.
>>1481471 Возможно, не совсем понимаю специфику задачи, но в чём проблема пробежаться по строкам твоего датафрейма, оставляя одну строку из двух подходящих и удаляя все остальные?
>>1481504 т.е я прохожу по строке, проверяю название файла и значение, если false, то иду сразу дальше, если тру проверяю был ли этот файл раньше, если не был то добавляю его в список, если был то проверяю есть ли он уже в списке, если уже есть, то добавляю этот файл в итоговый список. Такой порядок получается, верно?
>>1481147 Это просто обозначение, чтобы отличить от десятичной записи, если где-нибудь выводятся числа в разных системах счисления. Откуда эти обозначения взялись - другой вопрос, но это не важно для разработки.
>>1481612 Тебе нужно, чтобы один график функции был наложен на другой, или что? Если нет, то просто определяешь эту функцию тем же способом, что и в прошлом твоём скрипте. Либо можно сильно изъебнуться и вывести явное выражение, но смысла особо нет.
>>1481630 Нет, график единый, просто должен быть изменён. Я понимаю, что нужно написать функцию. Я не знаю, что в ней писать, я геометрию не знаю, как эту ступеньку сделать то сука. Задача то какая полуебская, программисты не скажут как изменить, математики не скажут как реализовать.
Объясните, пожалуйста, почему при инициализации BigBell все проходит гладко, а с тем же кодом у __init__ в классе LittleBell ничего не работает? Спасибо. https://pastebin.com/0YGHqgX6
Аноны, есть один сайт и на нём форма, к ней хуй прорвёшься(после капчи сразу пишет что сервак перегружен). На сколько я знаю, таких как я, ломиться там куча постоянно и у них защита просто шлёт нахуй. Первая мысль - селениум+лист с проксями и всё это отмасштабировать. Но тут упираюсь в тяжесть для оперативки такого подхода. Какие есть варианты ещё? Какие параметры в хэдере/ещё чем-то мудрый анон посоветует менять?
Привет, питонисты и питонщики. Хелп нуфагу. В общем, пытаюсь сделать так чтобы пикрил1 выводил цену и продукт по очереди как на пикрил2, но не повторял ее столько раз, сколько товаров Оцените мудрым взглядом и скажите где оплошал, буду очень благодарен!
Друзья, объясните нуфане: Как по значению одного списка вернуть другое? у меня есть: a = [майнкрафт, варкрафт, старкрафт] b = [1, 2, 3] c = input() В инпут я хочу забить значение списка b, чтоб мне по индексу возвратилось значение из списка a Как такое провернуть?
>>1481939 Про zip загугли. А по поводу задачи - ты мог просто убрать цикл в цикле и оставить лишь внутренний цикл. У тебя все равно длина первого и второго массива совпадают, так что с индексами все будет нормально. Конечно, лучше использовать zip, но если бы ты вдруг не вспомнил про него, то вариант выше подошёл бы, я считаю.
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.
>>1482260 Я ж писал о том, как сделать, если вдруг zip не помнишь. С ним-то все понятно. Просто я, например, не так часто его использовал, чтобы запомнить функцию, поэтому и решил бы задача без неё.
>кстати, что по твоему значит фраза "значение списка"? Ну я имел в виду, что мол 1 - это значение первое из списка b, а майнкрафт - первое знаечение из списка a
Делаю для телеграмм бота, почему после того как нажимаю ран, он выдает "Process finished with exit code 0", т.е. как я понимаю после bot.polling должен ожидать сообщения мои, но он запускается и заканчивает, в чем у меня проблема?
Сап, хочу сделать простой счетчик слов. Но, что бы не было лишних символов, почему то остается "-". Если я его включаю в forbidden - ошибка, без него все ок.
File "/count.py", line 17, in sort something = something.replace(something, '') AttributeError: 'list' object has no attribute 'replace'
Вообще не понимаю, почему так? И норм ли такая сортировка вообще? Просто я только учусь
>>1482434 1) Нахуя ты делаешь реплейс списка? 2) Если ты собрался отсекать только отдельные символы (которые отдельно от слов), то лучше делать .isalpha()
Я вообще не понимаю что ты высрал... Там достаточно прочитать текст в переменную и сделать (офк если ты отсекаешь ток символы которые вместе со словами)
>>1482491 ну земля говном тогда Дед-алгоритмизатор, ты? У чувака с хеллоувролдами проблема, а не тестовое с бигдатой Почему не доебался что будет в случае с множественными пробелами?
>>1482497 Потому что была цель доебаться только до этого.
>>1482507 Сань, хуй соси. То, что можно сделать через две-три строчки с циклом и счётчиком в нём, приходится делать по-индусски, но зато В ОДНУ СТРОЧКУ! СМАРИ, КАК МОГУ!
>>1482533 Хорошо, выражусь иначе: он эквивалентен предварительному созданию списка всех слов и вычислению его длины, что для данной задачи чем-либо кроме индусского кода назвать нельзя.
>>1482554 >типичный fizzbuzz однострочник >индусский код >>1482578 Он бы создал цикл и прошёл по всему стрингу, ведя один счётчик, обнуляющийся на каждом пробеле или символах из форбидден, и инкрементирующий другой счётчик, если между этими символами были буквы. Ещё ему там нужно продумать разницу между дефисом в слове и дефисом отдельно, дефис будет как-то отдельно. Получится куча говнокода с той же линейной асимптотикой
Я понимаю, что скорее всего слишком много написал хуйни в коде конечно, но мне нужно не просто посчитать слова, а сделать вывод повторяющихся, но что бы там не было лишних символов.
И вывод должен быть такой, только почему то "-" мешается и его нельзя поместить в forbidden
>>1482434 >Сап, хочу сделать простой счетчик слов. И да, я ошибся немного. Счетчик повторяющихся слов* Просто думал по коду и так понятно будет
Помогите бля. Текст задания: Дан номер дня недели. Выведите название дня недели. Хочу чтобы если вводишь числа не в диапазоне (1-7) он предлагал ввести еще раз, в турбо си можно было делать goto, а тут, как я понял, нельзя. Че делать, ебать?
>>1482649 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())
>>1482434 Слова с разными окончаниями считаются как одно слово или 2 разных? Если уж начал капаться в этом, то посмотри на nltk.tokenize.word_tokenize(). Он тебе сразу всю пунктуацию выпилит и слова разделит. Останется только посчитать их.
Хотя за скорость работы не ручаюсь. Понятия не имею, сколько оно займёт по времени, но вообще у tokenize есть разные токенизаторы и работают они по-разному. Можешь в них покопаться, если в производительности есть смысл.
>>1472577 (OP) Подскажите плз, какие знания необходимы для среднего джуна в питоне? Что нужно знать и уметь способным написать? Я не физик/математик, потому, наверное, научная деятельность и рассчеты не в приоритете, так что вопрос скорее о вебе, ботах, автоматизации, какие там еще направления быть могут
>>1482822 А хули он у меня когда 2 отступа стоит и в настройке и в коде, код забагованным получается, хотя отображается правильно? В блохноте открываю а там всё наперекосяк. Так всё в нём нравится, если бы не это.
Аноны, горит лаба по питону, до этого никогда его не изучал, а это, собственно, первая дальше по программе языка не будет, поэтому совсем не ясно зачем такое вообще включили https://ideone.com/D7Xmc4 Су
>>1483117 Суть в том, что нужно сделать вывод в историю вообще всего, а не только запроса на сайт (там есть Info, но в историю почему-то не сохраняется) Молю о помощи
Как в питоне красиво записать цепочку условий? Допустим у меня есть if с 4 выражениями, через перенос строки смотрится всрато, через лесенку из if'ов тоже всрато, что делать?
>>1483147 Нет Если точнее, у меня есть 4 выражения, нужно вернуть одно, когда они все True и что-то другое в обратном случае, но в одну строчку смотрится всрато
>>1482974 Боты/парсеры и всё что около них. С этим проще всего войти и поднять начальные деньги. Если будешь знать Flask какой, то ты уже очень неплох и можешь в клиент-серверные приложения.
На работе уже нужен набор посолидней. Уровня RabbitMQ/Redis/Celery, попутно с этим Django/Flask/aiohttp/Tornado, а также надо бы знать за тестирование(виды и способы). Иногда требуют голый питон(да, недавно узнал что и так можно работу найти), но для этого надо зубрить питоновские доки и ООП. На джуна тебя будут спрашивать поверхностно, с мидла уже спрашивают глубже, с юз-кейсами и прочими радостями.
Кто vsc юзает, как пофиксить такую хуйню в консоли на пикрелейтед? Смена цветовой схемы не помогает, все равно нихуя не видно из-за этого ебаного выделения.
>>1478942 ну так на графике видно, что нет у тебя никаких значений на 18 число. при этом масштаб легенды = 1 день, вот либа и вставляет этот день на легенду, чтобы график правильный был. Поменяй масштаб легенды, там и не такое появится.
>>1483189 Вскод тут непричём. Это цветовая схема терминала используемого тобою. В крысе это, например, xfce-terminal. Фиксится изменением цветов в конфиш файлах.
>>1483310 Да менял я тему в wsl чет все равно такая же говнина. Если в вскоде тему менять, то цвет выделения тоже меняется, но не особо читаемо все равно, да и тема меня не устраивает. Ну ладно, это не критично, просто неприятно.
>>1483452 притом, что консоль в вскоде от всл, ты последок сутулого пса, сходил тебе за щеку и изменил микрофлору твоей ротовой полости методом орошения.
>>1483721 Дебила ебаного кусок, ещё раз тебе повторяю спермохлёб ды задроченный, терминал в прыщах наследует тему из конфиг файлов. В гуи настройки как раз этмх файлов. Ебанашка ты тухлодырая.
>>1483748 Повторяю тебе ебаному куску дерьма, что у меня не прыщи тем более крысиные лол, я же не умственно отсталый, а wsl ебанько блядь конченное Оставляю тебе право на последний, бесполезный как и остальные, кукарек.
>>1483763 Я тебе последний раз дегенерату ебаному объясняю, что дело не в wsl и том, что у тебя не прыщи. Прыщи у тебя обмудка ебаного внутри wsl!!! Всл это виртуальная машина с образом прыщей. Блядота ты необразованная, ято же ты за залупа такая конченая то. Сука, как ты вымораживаешь уже вовремя не вынутый хуй из пиздятины.
>>1483799 хуесос ебаный мать твою ебал гнида блядская там такие же прыщи как на жопе твоей мамаши отрисовка консоли виндовая ебанько тупое мразь тупоголовая скот блдь Еще раз тебе говорю еще раз блядский сука раз менял я ебаную тему не работает нихуя пошел нахуй все умолкни, птушник.
>>1483804 Шлюха ты с обдроченными губами сука твою гей шлюху отца ебал!!! Нет никакой отрисовки сосноли виндовая. Идиота ебаного кусок тебе говорят править тему внутри wsl, ты сука ебаная вообще нихуя не понимаешь что ли? Дебила ебаного кусок сука боядь. Гниба ёбаная по ссылке выше попробуй внутри wsl изменить конфиг и увидешь, что твой терминал изменит цвета. Мразь вонючая ты уже конкретно бесишь блядота губастая.
Какие задачи можно порешать для закрепления навыков? Прочитана книга "Укус пистона", немного полистал лутца и еще пару книжек. Сейчас читаю " Автоматизацию рутинных задач на языке Питун" на мой взгляд лучшая книга из прочитанных. Олимпиадные мне не подходят, там упор на математику, а у меня с ней oche huevo Хотелось бы чтото близкое к реальной разработке на веб, боты-хуеты, парсинг. Думал может запилить рпг, но в ооп пока могу слабо, хоть и понимаю основную идею. Хелп аноны, пока есть мотивация надо пушить это дерьмо.
>>1483875 И еще такой вопрос, что читать чтобы понимать основы погромирования, проектирования программ не привязываясь языку питун. Вот задумал я игру на ооп, как мне эту пирамиду ебаную построить правильно? Блок схемы рисовать? Цикл вуле, прорисовка обьектов это ж пиздец какойто. А можно прям в консоли чтобы графика была символьная? Хотеть такое. Ведь одно и тоже говно можно написать на разных языках и делоть оно будет тоже самое Наверно мне алгоритмы нужны, а как их составлять самомк? Короче вопросов очень много. >>1483881 благадарю
>>1483887 Ну собственно вон по ссылке можешь видева смотреть ет вводный курс во все говно, что ты хочешь знать , будешь знать основные структуры данных, алгоритмы. Те кирпичи на основе которых строишь приложуху.
Как GIL решает чья треда очередь сейчас выполняться и захавать блокировку интерпретатора? В ситуациях когда выполняющийся тред делает join или в блокировке сычует это понятно, а вот когда main тред например в бесконечном цикле выполняет важные вычисления (3 + 3), как GIL что сейчас в этот тик он дает врем main треду, а в другое одному из сотни других, запущенных в бэкграунде?
>>1484077 Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты.
>>1484006 Очерёдность выполнения потоков определяет интерпретатор в зависимости от реализации. С Википедии взял. Сам в душе не ебу и тоже жду ответа на вопрос от знатоков, а то на собесе всплывал такой вопрос, а я нихуя не ответил.
Так то GIL будет при обнаружении блокировки IO передавать контекст исполнения следующему треду, а при отсутствии блокировки по истечении н тактов следующему таску в соответствии с реализацией логики планировщика
>>1484171 >Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты. почти все сишные либы тред-сейф и не используют шаред мемори. Те что не тред-сейф написаны чмохами типа тебя
>>1484177 Всё так, потому что толку от того что собеседующий лезет под залупу - никакого нет, больше похоже на ЧСВ-еблана, который что-то где-то узнал и теперь ходит и у всех спрашивает.
>>1484177 Может и ответ. Я тогда вообще ничего не ответил, потому что мне вообще похуй, чо там происходит по факту. Только после собеса я начал копаться в этой хуйне немного и набрёл на этоот ответ из Википедии, вот и всё.
>>1484171 А без этого питон был бы как руби, только еще дальше - потому что питон отвратительная хуйня, где не осилили ООП и в частности инкапсуляцию, а руби хороший язык.
Проще говоря, без этого питон был бы скриптодрисней для админов и отдельные сумасшедшие писали бы на нем веб. Никакого ML, CV, DS бы не было.
Сап господа, недавно вкатился в python, пишу для телеги бота, подскажите, как то можно прикрутить бд к боту? т.е., чтоб у пользователя(чата) хранить данные такие как Имя, город, телефон, еще какой то важный айди который я в последующем буду использовать? как это реализовать? быть может на ютубе есть че по этому поводу глянуть?
Может кто-то помочь, вообщем делаю парсер с помощью 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
Предыдущий
ЧАВО: 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/ (нужно знать ангельский или уметь пользоваться переводчиком)
Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.