• Как отправлять почту Python без использования сторонних SMTP?

    ValdikSS
    @ValdikSS
    Вы можете использовать системный mail transfer agent вызовом через subprocess (обычно это команда sendmail), передавая ему содержимое письма. Если на сервере настроен полноценный MTA, то sendmail отправит письмо напрямую, без сторонних SMTP-серверов.
    Формировать письмо можно с помощью стандартной библиотеки email.
    Ответ написан
    1 комментарий
  • Распознавание капчи на python, как улучшить результат?

    Vindicar
    @Vindicar
    RTFM!
    Ну так ты хреначишь BGR2GRAY+пороговое преобразование с фиксированным порогом, и думаешь что оно само сработает? Волшебную кнопку ждёшь?
    Попробуй перегнать в HSV и поэкспериментируй с каналами, посмотри, какой наиболее информативный. Используй алгоритм Otsu для определения порога.
    Попробуй разбить текст на символы, например, через connected components with stats. Если символы не касаются друг друга, должно сработать. Если касаются, то будет сложнее - нужно будет как-то разделять их ДО порогового преобразования.
    Потом уже пробуй распознать каждый символ. Если шрифт всегда один и тот же, то может и pytesseract не понадобится, просто собери образцы символов и ищи их через generalized Hough-Guil.
    Ответ написан
    Комментировать
  • Можете порекомендовать книги для практических заданий Python Data Science?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. От создателя pandas 3-е издание его легендарной книги Python for Data Analysis, 3E Веб версию, книги он сделал бесплатной. Для новичков шикарно, основные библиотеки плюс jupyter.

    2. От профессоров стенфорда, класика по DS с 2023 python edition (с лабараториями и сложными упражнениями). Так же доступна бесплатно. An Introduction to Statistical Learning
    Ответ написан
    3 комментария
  • Почему функция возвращает None?

    Maksim_64
    @Maksim_64
    Data Analyst
    Потому что у тебя в рекурсивном кейсе отсутствует return Когда функция не имеет return python возвращает None
    ...
    else:
        return player_input()
    Ответ написан
    1 комментарий
  • Как решить эту задачу?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    У вас 7 неизвестных и 3 уравнения. Так что однозначно вы найти значения переменных никак не сможете. Но и найти вам надо какую-то сумму. Есть шанс, что как-то комбинируя, складывая, вычитая и домножая левые части этих уравнений можно получить искомую сумму. Иными словами, вам надо вектор (16, 25..100) представить в виде линейной комбинации векторов (1, 2..49), (4, 9..64) и (9, 16..81). Обратите внимание, что там везде получаются суммы трех квадратов равны следующему.

    Вам надо подобрать такие 3 коэффициента, что x*n^2 + y(n+1)^2+z(n+2)^2 = (n+3)^2. Для n=1..7. У вас тут квадратные многочлены от n получаются, равны они в 7 точках, так что они должны быть равны вообще при любых n. Значит, вам надо раскрыть скобки, сгрупировать степени n и приравнять к 0 все коэффициенты.

    Так вы получите 3 уравнения на 3 переменные x, y, z.
    x+y+z=1
    2y+4z=6
    y+4z=9

    Отсюда получается x=1 y=-3 z=3

    В итоге получаете 1*1-3*12+3*123 - это ваш ответ.
    Ответ написан
    2 комментария
  • Какой бюджетный набор для пайки плат можно собрать?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Нужно наращивать свои знания и опыт постепенно. Сразу не получится, да и вложения на профессиональные сложные инструменты преждевременны при нулевых знаниях и отсутствии опыта.
    Начните с малого. Вот есть видеоблогер (https://alexgyver.ru/), который занимается популяризацией на эту тему. У него на сайте есть наборы для начинающих и полезные статьи по теме.
    Стоит начинать с маленьких простых проектов, а реболлинг и восстановление дорожек на многослойных платах - это довольно сложные темы. Они не для новичков. Двигайтесь к ним постепенно. В ютубе полно обучающих видео, не ограничивайтесь только короткими. Есть видеоуроки пайки, там много полезных приёмов и хитростей открывается.
    Ответ написан
    Комментировать
  • Почему ffmpeg искажает картинку при кодировании?

    ValdikSS
    @ValdikSS
    Картинке не хватает цветового разрешения DVD (4:2:0), чтобы корректно закодировать изображение.
    https://ru.wikipedia.org/wiki/Цветовая_субдискретизация

    В случае под цифрой 2 пиксели с цветовым переходом попадают в «центр» цветового блока, а в случае под цифрой 1 просто не хватает разрешения.

    как с этой бедой бороться
    Нужно либо применить цветовую субдискретизацию с более высоким разрешением (4:2:2, например, но оно поможет только при вертикальном расположении пикселей), либо отключить её. Если речь о бытовых DVD-плеерах, то никак — стандарт DVD предусматривает только профиль 4:2:0, насколько мне известно.
    Ответ написан
    5 комментариев
  • Как добиться прямоугольного сигнала через ОУ LM741 в Altium Designer 2021?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Следующие фото -то что сделал я,

    66043a3faeba3480826652.png

    Вы неправильно понимаете, что такое "второй вход операционного усилителя": на самом деле, это - вход второго транзистора в дифференциальном каскаде (Q2 на вашей схеме), нога 2 - та, которую вы на землю посадили.

    А то, что вы приняли за "второй вход" - это один из входов регулировки нуля для напряжения сдвига. И, кстати, на землю входы для регулировки нуля (1,5) сажать не полагается: их через резисторы подтягивают к "минусу": поищите схему включения, там нарисовано. В качестве которых обычно используют одинн подстроечник, со средним контактом к этому минусу подключенным. Если смотреть по схеме, то резисторы регулировки нуля оказываются подключенными параллельно R1 и R2 соответственно и просто корректируют их сопротивление. Так что если от вашего компаратора особой точности не требуется, ноги 1 и 5 можно их вообще не подключать.
    Ответ написан
  • Как вывести информацию из списка и кортежа?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ppls = [('user1', 73), ('user2', 43), ('user3', 39), ('user4', 37), ('user5', 27),
            ('user6', 22), ('user7', 11), ('user8', 10), ('user9', 10), ('user10', 9)]
    print('ТОП 10 ИГРОКОВ:')
    print('\n'.join(map(lambda ppl: f'{ppl[0]} - {ppl[1]}', ppls)))
    Ответ написан
    3 комментария
  • Как интерпретировать цветовую карту для асиметрии изображений термограмм?

    Griboks
    @Griboks
    Вы вычисляете разность цветов, а нужно взять разность значений, закодированных этими цветами. Иными словами, вам необходимо предварительно перевести тепловые карты в скалярные поля, затем найти разность и только после накладывать тепловую карту.
    Ответ написан
    3 комментария
  • Как получить данные колонки Pandas?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну у тебя не много колонок, а всего одна. Элементы массива (имена колонок) идут через запятую. А все что ты заскринил, это одна строка, как следствие один элемент массива.

    Как пофиксить, ну я не знаю что у тебя там в файле, но предположу что у тебя в файле разделение на колонки происходит сивволом ';'. Как следствие тебе нужно указать параметром при чтении.
    df = df.read_csv(filename, sep=';') Ну и остальные параметры которые ты там указываешь. Решит ли это все проблемы неизвестны. Надо видеть в каком состоянии файл. Чтение файлов иногда может быть серьезной проблемой, которая потребует написания функций для проблемной части парсинга.
    Ответ написан
    1 комментарий
  • Какая утилита подобна wget, но умеет делать upload дерева файлов по https?

    shambler81
    @shambler81 Куратор тега Linux
    Неправильно мыслишь.
    1. если большое дерево то это будет очень, очень очень долго.
    2. Кто мешает тебе совместить все это собрав в потоке архив и распаковать его на той стороне.
    И так делаем в 1 потоке:
    Архивируем | копируем | распраковываем > ложим. и да в примере архива не будет ни на той стороне ни на той, он будет только в канале
    tar cvfz - --directory /var/www/3dpaneli.ru/web . |ssh root@89.207.93.148cd /tmp/test/aa;tar xvfz -"

    Все плюсы как пофайлового копирования так и плюсы 1 поточного копирования присутствуют
    4. Кто мешает тебе работаь через вебдав он https
    5. csync rsync и тд
    Ответ написан
    Комментировать
  • Возможно ли без потерь завысить мощность резистора для светодиода?

    @kalapanga
    Что-то эффективность схемы сильно фиговая получилась. 0,7 Вт полезных на светодиоде и аж 7,7 Вт чисто воздух греть. Похоже, Вашего светодиода как раз касается примечание под калькулятором - лучше драйвер поставить.
    Ответ написан
    1 комментарий
  • Как рассчитать температуру воды в общей емкости?

    vabka
    @vabka
    Токсичный шарпист
    По формуле теплоёмкости.
    Чтобы нагреть 500 литров воды с 20 градусов до 45, нужно 4200дж/кг*К*500кг*(45-20)=52500000 дж = 52500 кДж

    в минуту мы гоняем по 2 литра, которые нагреваем до этих 45 градусов, получается мы будем гонять по 210 кДж.

    Получается 52500/210 чуть больше 4х часов.
    Но! Это нижняя граница, тк вода постепенно перемешивается и в минуту уже будет передаваться меньше 210 кДж.
    + С какой-то скоростью тепло будет уходить, тк бочка не термос, причём чем выше температура, тем быстрее будет уходить тепло.
    Строго говоря, до 45 градусов вода вообще может никогда и не нагреться, если теплообменник нагревает воду ровно до 45 градусов, тк пока вода крутиться - какое-то количество тепла уйдёт и будет температура 44.99999
    Ответ написан
    9 комментариев
  • Как можно в Tesseract улучшить распознавание желтого шрифта на красном фоне?

    Vindicar
    @Vindicar
    RTFM!
    Перевести желтое-на-красном в чёрное-на-белом. Если цвета всегда одинаковые, то можно просто найти разность между цветом каждого пикселя и эталоном, и по ней судить о яркости: похоже = чёрное, непохоже = белое, или наоборот.
    Ответ написан
    Комментировать
  • Как можно в Tesseract улучшить распознавание желтого шрифта на красном фоне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Протстой перевод в Grayscale может не сработать. Тусклый желтый и яркий красный могут
    дать совершенно одинаковый уровень серого. На градиетнах этот эффект испортит распознавание
    текста. Вплоть до полной бесполезности Tesseract на такой картинке.

    Картинку можно перевести в режим HSV (Hue,Saturation,Value) и для слоя H, который обычно
    меряется в виде градусов от 0 до 360 будет ярко выраженная гистограмма из двух пиков - желтого
    и красного. Далее обычным фильтром типа range выделяем желтый цвет и берем его за белый
    и все что не-желтый - берем за черный.

    После этого качество разделения красно желтой картинки станет лучше.
    Ответ написан
    Комментировать
  • Как сделать расчёт пройденного расстояния лучом?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Формула: W/sin(a). Ну, или косинус, в зависимости от того, что вы за угол задаете. W - ширина прямоугольника.

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

    Формула осмысленна: если нет отражений, она очевидна. Чем вертикальнее луч, тем больше ответ.

    Формула меняется для любой отправной точки: надо лишь опять нарисовать решетку из прямоугольников. Видимо, там будет не W, а оставшаяся ширина от начала до правой стенки.
    Ответ написан
    6 комментариев
  • Как использовать re.findall?

    @maximq
    QA Engineer
    Используйте backslash:
    re.findall(r"\b[A-Z0-9a-z\-\+\_]{8}\b", message.text)
    Ответ написан
    Комментировать
  • Как реализовать условие правильно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вся функция сводится к одной строке.
    def sum_range(start:int, end:int)-> int:
        return (start + end) * (abs(end - start) + 1) / 2;
    Ответ написан
    1 комментарий
  • Почему при запросе в python mysql бд выдает ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В MySQL 8.0.2 и выше GROUPS - зарезервированное слово. Если хотите так назвать таблицу или колонку, надо брать название в обратные апострофы - `groups`.
    Ответ написан
    1 комментарий