• Как вычислить сколько км проехала машина?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Как вариант на перспективу: если у вас уже есть какая-то база постоянных клиентов, которые к вам обращались несколько раз, то используйте статистику для подсчета среднего периода между заменой масла. Можно вывести тренды, подсчитать среднее, вывести другие закономерности (может кто-то предпочитает менять масло с привязкой к ЗП, тогда это будут например, первые выходные месяца). Вести лучше несколько величин и отслеживать, какая из них со временем будет наиболее точна для каждого клиента.
    Так же в порядке опроса можете какие-то данные уточнить, например, меняет ли клиент масло только у вас, как часто и какие расстояния клиент покрывает на автомобиле.
    Может еще что-нибудь придумаете в этом направлении.
    Ответ написан
    1 комментарий
  • Как передать файл через params в библиотеке Requests python?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Когда вы передаете несколько файлов, названия у поля должно быть одинаковым, на сколько я понимаю, иначе вам каждый файл нужно передавать по отдельности в разных полях. К тому же названия полей у вас какие-то странные - FIELDS[CONSENT] и FIELDS[PASSPORT_PHOTO]. Я бы в первую очередь обратил внимание на этот момент.
    Ответ написан
  • Есть ли такой плагин для sublime?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Возможно, вам подойдет плагин Favorite Files (https://packagecontrol.io/packages/FavoriteFiles). В нем, в частности, есть возможность группировать файлы в виртуальную структуру каталогов (т.е. не привязанную к файловой системе).
    Ответ написан
    Комментировать
  • Reopen with encoding. Как сделать одновременно для нескольких файлов?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Если вам это нужно единоразово, почему бы и не поменять кодировку по-умолчанию? Или сделайте отдельный инстанс Sublime с нужными настройками. Для этого Sublime можно просто скопировать в другую папку.
    Ответ написан
    Комментировать
  • Какие эффективные методы продвижения сайтов?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Я, возможно, банальную вещь напишу, но все же: Делать сайт ради сайта не нужно.

    Если есть необходимость в сайте, которая может принести реальную пользу клиенту салона (будущему или настоящему), то посетители у сайта появятся сами.

    Для салона-красоты это могли бы быть функции:

    1. Запись в очередь (прям с главной страницы), в общую или к мастеру.
    2. Информация о мастерах (подготовка, проф-ориентация)
    3. Каталог причесок, чтобы можно было прям сразу пальцем ткнуть и сказать "хочу как тут".
    4. Контакты,схема проезда и режим работы.
    5. Акции, которые будут доступны только постоянным посетителям и посетителям сайта.

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

    Сам недавно искал салон (парикмахерскую) поблизости, поэтому пишу то, чего на хватало.
    Искал через 2Gis и карты. Туда же стоит в первую очередь адрес сайта забить, режим работы и контакты.

    UPD: Я еще добавлю: вы говорите, что заказчик хочет сконцентрироваться на онлайн и у него есть акции. Хороший вариант завлечь аудиторию на сайт - предоставить плюшки пользователям сайта. Например, всем сделавшим заказ через интернет - скидка 10%, или раздача купонов на бесплатную услугу. Возьмите пример с крупных сайтов - тот же Алиэкспресс.
    Ответ написан
    2 комментария
  • Что использовать для парсинга?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Для парсинга сайтов подойдут:
    BeautifulSoup (https://www.crummy.com/software/BeautifulSoup/bs4/doc/)
    Scrapy (https://scrapy.org/)
    Ответ написан
    Комментировать
  • Материал для систематизации знаний, шпаргалки?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Подпишусь на вопрос, потому что вдруг есть что-нибудь такое, очень интересно посмотреть будет.
    И соглашусь с Андрей Плетенев, т.к. единого формата (пути) нет. Область знаний - это лес, вы сами выбираете куда вам идти и как, причем зачастую на ощупь.
    Для себя я в последнее время использую блокнот Sublime + Markdown для ведения конспектов. Попутно пока еще использую Mars Notebook, т.к. там очень удобно систематизировать знания (в виде иерархии).
    Ссылки не даю, все легко гуглится.
    Ответ написан
    Комментировать
  • Какие есть книги или статьи для развития критического мышления?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Гарри Поттер и методы рационального мышления
    hpmor.ru

    У этого же автора есть статьи отдельно по методам рационального мышления.

    UPD by Владимир Олохтонов:

    Дополню ответ, статьи автора лежат по адресу: lesswrong.ru
    Ответ написан
    2 комментария
  • Удаление дублей по маске, как?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    1. Делаете поиск по: <picture>.*</picture>
    2. Далее нажимаете Find all, все строки с картинками должны выделиться (проверьте визуально просто)
    3. Далее нажимаете пункт меню: Edit -> Permut Selection -> Unique
    Ответ написан
    5 комментариев
  • Как и чем обернуть сайт в приложение Android?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Простите, что немного не в тему, но как мне кажется, это будет полезно разве что только поупражняться в создании такого рода приложений, потому что:
    1. Сайты сейчас - штука динамичная, вам постоянно придется подкручивать свой парсер чтобы успевать за изменениями структуры сайта. А изменения почти наверняка будут.
    2. И не проще ли попросить разработчиков сайта добавить недостающую вам информацию? Ну или как-то посотрудничать с ними. Возможно, они найдут вашу структуру удобной для всех и сделают такую сами (и поддерживать будут).
    3. Ну или может разработчики поделятся открытым API сайта (если он есть) для получения информации, чтобы вы могли написать приложение.
    Ответ написан
    3 комментария
  • Как декодировать unicode escaped строки?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Во-первых, вы в консоли видите декодированную под кодировку консоли строку. Это не то же самое, как видит ее Python изнутри (а видит он ее скорее всего в unicode). Конкретно у вас судя по тексту закодирован какой-то символ (длинное тире, возможно), которого в консольной кодировке нет, поэтому он выводит его тип.
    Во-вторых, попробуйте внутри своего приложения выполнить поиск по подстроке, чтобы проверить, что Python ее обрабатывает корректно (например, найти этот символ).
    В-третьих, у вас ошибка что у типа str нет метода decode, поэтому попробуйте так:
    str(element.text).decode('unicode_escape')
    Ответ написан
    Комментировать
  • Как организовать построчное чтение из файла с последующим удалением строки в Python?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Используйте SQLite для этих целей. Создаете в нем табличку с одной колонкой и далее делаете с ней что хотите.
    Ответ написан
    Комментировать
  • Как задать размеры сохраняемого графика в matplotlib?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Попробуйте перед сохранением выполнить:
    plt.tight_layout()
    plt.savefig('plot.png', format='png')
    Ответ написан
    Комментировать
  • Как в Sublime Text 3 при поиске во всех файлах сразу же их и редактировать?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    F4 открывает по очереди файлы, в которых было найдено искомое выражение.
    В меню это пункут: Find -> Find Results -> Next Result
    Ответ написан
    Комментировать
  • Какие есть готовые видеоплееры (скрипты) для Python 3.x?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Солидарен с комментариями к вопросу - 1. задача не ясна. 2. погуглить можете и сами.
    Но все же попробую угадать - вам нужно в некоем приложении воспроизвести видео с субтитрами? Вы можете попробовать использовать стороннее приложение для этого, которое через командную строку будет принимать команды для отображения видео (для Windows можно использовать Media Player Classic - https://mpc-hc.org/).
    Ответ написан
  • Существует ли легковесный splash screen для python3?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Попробуйте написать отдельное приложение, показывающее splash, которое будет убиваться по PID основным приложением после его (основного приложения) загрузки.
    Ответ написан
    Комментировать
  • Raspberry pi 3 китайской сборки?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    У меня работает как домашний медиа-центр с RetroPi на борту. Два месяца - полет нормальный.
    Ответ написан
    Комментировать
  • Есть ли API для форматирования текста?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Вам нужен типограф, а не spellchecker.
    Есть от студии Лебедева с открытым API - https://www.artlebedev.ru/tools/typograf/webservice/

    Или вот еще - typograf.ru (так же есть веб-сервис).

    Если вас не устраиват веб-сервис, можно взять исходники (https://github.com/typograf/typograf.github.io/) или скачать библиотеку typus для python (описание на Хабре - https://habrahabr.ru/post/303608/).

    Некоторые поддерживают проверку орфографии заодно, это как бонус :)
    Ответ написан
    Комментировать
  • Зачем в регулярном выражении /e(\-)?mail/i на конце i?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    /i - отключает чувствительность к регистру букв.
    В вашем примере будут корректно обрабатываться так же EMAIL и E-MAIL.
    В вариант с /tel/i - должно работать.
    Ответ написан
    Комментировать
  • Как сгенерировать корректный номер налоговой записи налогоплательщика (ИНН)?

    atomheart
    @atomheart
    Пишу на Python за карму и за деньги
    Внесу свою лепту на Python + функция проверки на валидность ИНН:

    def inn_ctrl_summ(nums, type):
        """
        Подсчет контрольной суммы
        """
        inn_ctrl_type = {
            'n2_12': [7, 2, 4, 10, 3, 5, 9, 4, 6, 8],
            'n1_12': [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8],
            'n1_10': [2, 4, 10, 3, 5, 9, 4, 6, 8],
        }
        n = 0
        l = inn_ctrl_type[type]
        for i in range(0, len(l)):
            n += nums[i] * l[i]
        return n % 11 % 10
    
    
    def inn_gen(l=None):
        """
        Генерация ИНН (10 или 12 значный)
        На входе указывается длина номера - 10 или 12.
        Если ничего не указано, будет выбрана случайная длина.
        """
        if not l:
            l = list((10, 12))[rnd(0, 1)]
        if l not in (10, 12):
            return None
        nums = [
            rnd(1, 9) if x == 0
            else rnd(0, 9)
            for x in range(0, 9 if l == 10 else 10)
        ]
        if l == 12:
            n2 = inn_ctrl_summ(nums, 'n2_12')
            nums.append(n2)
            n1 = inn_ctrl_summ(nums, 'n1_12')
            nums.append(n1)
        elif l == 10:
            n1 = inn_ctrl_summ(nums, 'n1_10')
            nums.append(n1)
        return ''.join([str(x) for x in nums])
    
    
    def inn_check(inn):
        """
        Проверка ИНН на корректность
        В соответствии с алгоритмом, описанным по ссылке:
            https://ru.wikipedia.org/wiki/Контрольное_число
        """
        sinn = str(inn)
        nums = [int(x) for x in sinn]
        if len(sinn) == 10:
            n1 = inn_ctrl_summ(nums, 'n1_10')
            return n1 == nums[-1]
        elif len(sinn) == 12:
            n2 = inn_ctrl_summ(nums, 'n2_12')
            n1 = inn_ctrl_summ(nums, 'n1_12')
            return n2 == nums[-2] and n1 == nums[-1]
        else:
            return False
    Ответ написан
    Комментировать