Задать вопрос
  • Почему при проверке Decimal на принадлежность возвращается false?

    @Everything_is_bad
    заново читаем учебник или доки
    1. выясняем что именно делает is
    2. делаем правильно isinstance(a, Decimal)
    Ответ написан
    Комментировать
  • Видит ли опсос уровень сигнала на моём аппарате?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Видит. Телефон сообщает. И сам оператор слушает, есть ведь еще и обратный сигнал. Регулирует мощность передатчиков, исходя из общей картины. Приказывает абонентским устройствам сменить частоту или базовую станцию (если абонент видит несколько) исходя из собственных соображений и чувства оптимальности. Приказывает абонентскому устройству поднять или снизить мощность передатчика.

    Примерно так: у БС есть 25 клиентов, из них 10 рядом, 10 далеко, а 5 ближе у другой БС, которая не перегружена.
    Тогда логика будет такой:
    - 10 ближайшим приказать перейти на одну (или несколько) общих частот. Снизить на этих частотах выходную мощность. Приказать абонентам понизить мощность своих передатчиков.
    - 10 дальним - приказать перейти на другую (или несколько) частоты, и поднять на них свою мощность. А клиентам так же подрегулировать мощность их передетчиков вверх - до достижения уверенной слышимости на БС.
    - 5 которые у другой БС - велеть переключится на другую БС и одну из ее частот.
    Ответ написан
    10 комментариев
  • Какой алгоритм можно применить при проверки числа на простое ли оно?

    @Mercury13
    Программист на «си с крестами» и не только
    Если нужно проверить а) точно, и б) одно; в) не очень большое число (миллион тоже небольшое) — ничего нет лучше, чем проверка нечётных чисел до корня из n. То есть до 1000.

    Если точно, много и небольшие — то придётся держать список простых чисел, пополняя его, когда попадётся слишком большое число. Список тоже до корня из n. Допустим, если предел — int4 (≈4 млрд), то нужно держать только список до 65535, это пара тысяч чисел.

    Если число совсем небольшое и может быть где-то в списке — ищем его хитрой разновидностью поиска: проверяем 1-е число, 2-е, 4-е и т.д., пока не определим диапазон, где может быть число. И в этом диапазоне ищем двоичным поиском.

    В криптографии востребован неточный поиск — «число, скорее всего, простое». Но об этом не будем, вы не настолько круты. Тут уже основано на том, что держим таблицу небольших простых чисел и делим на них, а затем гоняем неточные тесты.

    PERFECT number — это СОВЕРШЕННОЕ число. Это не то (сумма всех делителей равняется самому числу), и для теста на совершенное число тоже надо проверять до корня из n — если a делится на b, то добавляем и b, и a/b (кроме случаев, когда b=1 и b²=a, разумеется). Если есть простые числа до корня из n — тоже можно разбить на простые множители (один из множителей может быть больше корня из n!) и подключить комбинаторику, чтобы заполучить остальные.
    Ответ написан
    2 комментария
  • Может ли выключатель не полностью проводить электрический ток?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Плохой контакт:
    • Между контактами самого выключателя
    • В колодках, куда подключены провода в выключателе

    В первом варианте - следует заменить выключатель на новый. Во втором - почистить контакты и затянуть. Но лучше заменить полностью. И третий, менее вероятный, но вполне возможный случай: проблемы в самой линии - в этом случае вызывайте электриков из коммунальной службы.
    Ответ написан
    Комментировать
  • Как сделать поиск объектов на скриншоте из игры?

    Vindicar
    @Vindicar
    RTFM!
    Т.е. размер искомого объекта известен заранее, поворотов и прочих искажений нет? Положение отпечатков на скриншоте всегда одинаковое? Вытаскиваешь их со скрина срезами (slice), тривиальная задача в opencv.
    А дальше Template matching в помощь, его тут должно хватить. Template matching составляет для изображения карту похожести. Чем больше значение в карте, тем больше окрестность этого пикселя похожа на заданный образец.
    Так что берешь каждый кусок отпечатка, делаешь template matching с самим собой (чтобы понять, какое значение похожести считать идеальным), потом делаешь template matching с отпечатком. Ищешь в карте похожести максимум. Если этот максимум сравним с идеальным (разница в пределах N%, придётся подбирать), значит, такой кусок на отпечатке есть. Если этот максимум значительно меньше, значит, такого куска на отпечатке нет.
    Скриншоты и мышетыканье в окно - это отдельные модули, за ними в гугл. Хотя поначалу можно просто выводить в консоль номера кусков отпечатка, которые нашлись.

    P.S.: код не проси. Приходи со своим (а не чатгптшным!), тогда будет что обсуждать.
    Ответ написан
    1 комментарий
  • Можно ли через numpy или pandas удалить строки в многомерном массиве, элементы которого содержат два и более разных значений?

    Maksim_64
    @Maksim_64
    Data Analyst
    Можно хоть в numpy, хоть в pandas. Учи что такое булевая маска. И как с ее помощью выбирать подсеты массива.
    array = np.array([
    ['петя', 'ваня', 'ира'],
    ["катя", 'саша', 'ира'],
    ['петя', 'миша', 'ира'],
    ['петя', 'миша','саша'],
    ])
    
    cond1 = np.any((array == 'петя'), axis=1)
    cond2 = np.any((array == 'ира'), axis=1)
    comb = cond1 & cond2
    array[~comb]


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

    unique_per_row = np.array([len(np.unique(row)) for row in array])
    array[unique_per_row == 1]
    Ответ написан
    3 комментария
  • No such file or directory django как исправить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    А что мешает посмотреть на реальный путь файла и сравнить с текущим путём в консоли?
    6797fe2c30986221244028.png
    Ответ написан
    7 комментариев
  • Что степенями в питоне?

    Со степенями в Питоне всё прекрасно. Просто запись -10**2 эквивалента записи 10**2 * -1, а не (-10)**2. Переменная как раз как бы добавляет эти скобки вокруг значения.
    Ответ написан
    Комментировать
  • Как происходит сброс и заполнение регистров ip и cs когда CPU получает сигнал reset при включении ПК?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Можно посмотреть в Intel developer manual и в разделе 11.1.1 Processor State After Reset третьего тома увидеть следующее:
    677467b8789a3779090596.png

    Откуда процессор берёт значения которые указывают адрес reset vector. Где они хранятся пока процессор выключен.

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

    Чтобы ощутить сложность можно посмотреть на то, как устроен сброс в реализации i8080 (куда более простого, чем x86) на верилоге, сделанной на основе реверс-инжениринга этого ядра по фото его кристалла. Спойлер: устроен неочевидно, тупым поиском стейт-машины по слову reset не найти.
    Ответ написан
    Комментировать
  • Как происходит сброс и заполнение регистров ip и cs когда CPU получает сигнал reset при включении ПК?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    для x86 стартовый адрес CS:CI будет FFFF:0000
    можно почитать детали тут https://wiki.osdev.org/System_Initialization_(x86)
    Ответ написан
    Комментировать
  • Как вывести полностью строки через \n в python?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Ну если через это г..., то
    x_split = x.split('\n')
    print(x_split[0]) # где 0 - номер нужной вам строки (считая  с 0)
    Если вы ищете по предмету, то можно и такое сварганить
    def extract_specific_lines(text, subject_keyword):
        # Разбиваем строку на отдельные строки
        lines = text.split('\n')
    
        # Начинаем с пустого списка для хранения нужных строк
        selected_lines = []
    
        # Флаг для отслеживания, когда начинается нужный блок строк
        start_collecting = False
    
        # Перебираем все строки
        for line in lines:
            if line.startswith(f"Предмет: {subject_keyword}"):
                start_collecting = True
            if start_collecting:
                selected_lines.append(line)
                # Останавливаем сбор после последней нужной строки
                if line.startswith("Задания и решения:"):
                    break
    
        # Объединяем выбранные строки в одну строку
        result = '\n'.join(selected_lines)
    
        return result
    
    # Ваша исходная строка
    x = """Предмет: Право
    Сроки проведения: 3 декабря 2024 года
    Время начала: 16:00
    Классы участия: 9–11
    Итоги проверки: официальная публикация ожидается 9.12
    Задания и решения: задания и решения
    --------------------
    Предмет: Математика
    Сроки проведения: 4 декабря 2024 года
    Время начала: 16:00
    Классы участия: 7–8
    Итоги проверки: официальная публикация ожидается 12.12
    Задания и решения: задания и решения"""
    
    # Используем функцию для извлечения нужных строк
    subject_keyword = "Математика"
    result = extract_specific_lines(x, subject_keyword)
    
    # Выводим результат
    print(result)


    Но вообще все это бред. По-хорошему надо так:
    blocks = []
    block = {
            "Предмет": subject,
            "Сроки проведения": dates,
            "Время начала": times,
            "Классы участия": grades,
            "Итоги проверки": itog,
            "Задания и решения": results_publication
    }
    blocks.append(block)

    А потом делайте, что хотите. Например вывести всё на экран можно так
    for block in blocks:
        for key, value in block.items():
            print(f"{key}: {value}")
        print("-" * 20)
    Ответ написан
    1 комментарий
  • Где в функции ошибка?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ноль не относится к положительным числам.
    Ответ написан
    Комментировать
  • Как вращать несколько объектов, но при этом каждый из объектов вращается вокруг своего центра?

    @Acaunt
    Найди в верхней панели по середине кнопку с изображением двух кругов с точкой пересечения, называется Transform Pivot Pointer. Затем в появившемся меню нужно выбрать Individual Origins.

    Загрузил бы фотку, чтобы понятно было, но не получается.
    Ответ написан
    1 комментарий
  • Как найти паттерн на картинке с OpenCV?

    Vindicar
    @Vindicar
    RTFM!
    Во-первых, оформи код, нечитаемо. Кнопка </> в помощь.
    Во-вторых, matchTemplate(), насколько я знаю, не-инвариантна к поворотам и масштабу. Иными словами, поворот или изменение размера целевого объекта сломают сопоставление.
    В-третьих, на показанном кадре более одного экземпляра целевого объекта. Так предполагается или нет? Если предполагается, сколько экземпляров ожидается? Потому что разница очень большая с точки зрения методики.

    Варианта тут три.
    1. пытаться обучать под задачу нейронку. А лучше дообучить существующую, скажем, YOLOv5. Но тебе потребуется минимум несколько сотен размеченных изображений объекта в разных комбинациях, плюс в 2-3 раза больше похожих изображений без целевого объекта. Готовить такую базу будет утомительно, да и само обучение требует понимания что ты делаешь.
    2. попробовать зафиксировать угол поворота или масштаб (т.е. допустить, что он всегда одинаков). Тогда другой параметр можно будет подбирать. Например, мы фиксируем масштаб и делаем 16 изображений объекта в разных поворотах, а потом поочерёдно ищем каждый вариант на кадре. Потом анализируем силу откликов - сколько их, насколько они сильные и т.д. Скорее всего, будет медленно
    3. взять за основу поиск по локальным особенностям. Он справляется с масштабом и поворотом, но не справляется с несколькими экземплярами объекта. Это можно забороть, если использовать скользящее окно. Иными словами, находим на кадре узнаваемые точки - локальные особенности (желательно достаточно много и достаточно плотно), используя алгоритмы вроде ORB или SIFT. Затем выбираем те из них, которые попадают в прямоугольную рамку-окно. Затем сверяем эти особенности с особенностями объекта, используя RANSAC или подобный метод. Если получилось хороше совпадение - значит, в этой рамке есть объект или значительная его часть, и мы можем оценить его позицию в кадре в целом. Повторяем процесс, сдвигая рамку, пока оно не "обойдёт" всё изображение. Тоже может быть небыстро, так как нам требуется неоднократный поиск по картинке.
    Ответ написан
    Комментировать
  • Почему кабель интернета не подключается?

    @SunTechnik
    Шанс, что розетка сдохла сама по себе, если не было непосредственного вмешательства - минимален.

    Диагностику начинают с анализа ситуации:
    Светится ли линк на порту компьютера и роутера?
    Если подтащить комп к роутеру и включить патч-кордом в тот же порт, есть ли связь?

    Работает ли ноут, другой комп от этой розетки?

    Если диагностика говорит, что проблема в трассе между розетками, только тогда имеет смысл начинать туда лезть. И то, лучше проверить тестером, который покажет расстояние до проблемы. Вполне может оказаться, что кабель повредили в середине...
    Ответ написан
    Комментировать
  • Почему пайтон делит не верно?

    @Everything_is_bad
    и по какой то причине при делении числа 0.000866 на 10000 я получаю 6.928e-08 или 0.0000000694, хотя должно быть 0.0000000866

    >>> 0.000866 / 10000
    8.660000000000001e-08


    я разрабатываю трейдинг бота
    и не знать про Decimal, это конечно пять.
    Ответ написан
    9 комментариев
  • Как вычислить географические координаты объекта на панорамной фотогрфии?

    hint000
    @hint000
    у админа три руки
    Из исходных данных - панорамные фотографии, снятые через небольшие (секунды) промежутки времени с координатами в exif
    Координаты чего? Самой камеры? При том, что камера постоянно накодится в одной точке и эти координаты на всех фотографиях одинаковые?
    отсюда по азимутам между этих объектов на разных фото и координатам соседних фотографий вычислять направление севера
    Откуда возьмёте азимуты, если компаса нет?
    Панорама круговая (на 360 градусов)? Если да, то вы только сможете вычислить, сколько пикселей составляют какой угол, а на основе этого вычислить углы между объектами (но не азимуты объектов). И всё равно линейные расстояния будут неизвестны. Если панорама меньше, чем на 360 градусов, то даже для вычисления углов между объектами не будет данных.

    В любом случае потребуется как минимум одно калибровочное фото, для которого будет известно: 1) точный азимут на объект, 2) точное расстояние от камеры до объекта, 3) точные размеры объекта (высота или ширина). Тогда уже можно вычислять. Без этого исходных данных просто нет.
    И это ещё при отсутствии дисторсии у оптики камеры. А при наличии дисторсии потребуются точные данные о нескольких объектах в калибровочном кадре, чтобы можно было вычислить и в дальнейшем как-то учитывать дисторсию.
    Ответ написан
    2 комментария
  • Подключение ESP32 к ноуту на Windows10. Как исправить ошибку драйвера моста СР2102?

    @Pandamon Автор вопроса
    РЕШЕНО: в Диспетчере устройств - Порты (COM и LPT) - удалено "вместе с программами" ранеее установленное устройство USB to UART Bridge, которое конфликтовало с ПО, . Установлен драйвер CP210x версии 11.03.0.176 (13/04/2023) с сайта SiliconLabs (в файле описания - Win10, 11).
    При подключении видит ESP32 (с СР2102), скетч работает нормально.
    Ответ написан
    Комментировать
  • Переменные на кирилице?

    Vindicar
    @Vindicar
    RTFM!
    Позволяет. Использовать эту возможность не советую, и в придачу к приведённым выше причинам добавлю ещё одну, очень простую: ключевые слова и вся стандартная библиотека языка на латинице. Задолбаешься переключать раскладку.
    Ответ написан
    Комментировать
  • Windows ffmpeg bat. Почему, при запуске через bat, ведет себя под другому чем при запуске через cmd?

    Aetae
    @Aetae
    Тлен
    Потому что в bat % воспринимается как спецсивол, а в cmd - нет.
    Тупо сравни echo "%d".
    Надо экранировать: %%d.

    Почему так? Хз, не особо шарю за bat, гуглить надо.:)
    Но скорее всего ответ, как обычно: "так исторически сложилось".
    Ответ написан
    Комментировать