Задать вопрос
  • Как вывести полностью строки через \n в python?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Ну если через это г..., то
    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, гуглить надо.:)
    Но скорее всего ответ, как обычно: "так исторически сложилось".
    Ответ написан
    Комментировать
  • Где моя ошибка в питоне?

    grantur5707
    @grantur5707
    Full Stack Web Developer
    import math
    
    while True:
        a = int(input("ax^2+bx+c=0 / a: ")) 
        b = int(input("ax^2+bx+c=0 / b: "))
        c = int(input("ax^2+bx+c=0 / c: "))
        
        d = b ** 2 - 4 * a * c
        
        if d > 0:
            x1 = (-b + math.sqrt(d)) / (2 * a)
            x2 = (-b - math.sqrt(d)) / (2 * a)
            print(f'Корней: 2. \n x1 = {x1}')
            print(f'Корней: 2. \n x2 = {x2}')
            
        elif d == 0:
            x1 = -b / (2 * a)
            print(f'Корень: 1. \n x1 = {x1}')
            
        else:
            print("Корней: 0")
    Ответ написан
    Комментировать
  • Как можно реализовать решение с обратной индексацией?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ну поработай с индексом да и все.
    Самое примитивное
    def __getitem__(self, index):
            try:
                return self.data[-(index+1)]
            except IndexError:
                return None
    Ответ написан
    Комментировать
  • Как быстро и легко зашифровать трафик?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Ответ написан
    Комментировать
  • Какая сложность у этого алгоритма?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Цикл while же выполняется пропорционально количеству цифр в числе..
    Да. А количество цифр в числе C это ⌊log10C⌋ + 1.
    Элемент суммы с меньшей степенью (1) отбрасываем, округление вниз убираем, основание логарифма неважно, получаем logC
    Ответ написан
    6 комментариев
  • Python pyautogui есть ли решение задачи?

    Vindicar
    @Vindicar
    RTFM!
    Нужно отложить скрипт, взять учебник по Питону, и почитать, что такое исключения и как с ними работать (оператор try-except).
    Тогда станет понятно, почему твой код не работает, и как его поправить.
    Ответ написан
    Комментировать
  • Почему Python не видит библиотеку?

    @Everything_is_bad
    import SpeechRecognition
    вот откуда ты взял этот код? Сам придумал? Открой доки SpeechRecognition и почитай как его использовать. И это надо делать сразу, перед тем как бежать сюда
    Ответ написан
    Комментировать
  • Как можно оптимизировать этот код?

    Vindicar
    @Vindicar
    RTFM!
    Для начала определи, что у тебя занимает время - скачивание, или парсинг. Подходы будут разные.
    Если хочется в лоб решать задачу - то multiprocessing в руки, даёшь дочернему процессу URL, он тебе возвращает структуру данных. Главный процесс раздаёт URLы и собирает ответы в какое-то итоговое хранилище.
    Пример работы с пулом процессов.
    Ответ написан
    Комментировать
  • Почему не получается спарсить названия учебных заведений?

    Vindicar
    @Vindicar
    RTFM!
    Ты хотя бы в браузере пробовал открыть исходный код страницы (обычно Ctrl-U)?
    Это динамический сайт, там по умолчанию в body два с половиной скрипта, которые уже подтягивают остальной контент. Конечно, ты его не получишь одним запросом.
    Выясняй, какой запрос скрипты делают для получения контента, и имитируй уже его. Консоль разработчика в помощь.
    Ответ написан
    Комментировать
  • В чем отличие между IRAMS10up60b и IRAMS10up60b-4?

    GavriKos
    @GavriKos
    Производитель говорит что она старая и ничего найти не можем. Mouser Electronics ответили что суффикс 3, и 4, и другие обозначают форму ножек, а внутренняя структура остается той же. Так-ли это? Могу-ли я вместо родной irams10up60b-4 поставить irams10up60b?


    Я бы верил производителю, а не рандомным чувакам с интернета
    Ответ написан
    1 комментарий
  • Почему else игнорирует существование if?

    Maksim_64
    @Maksim_64
    Data Analyst
    Проблема в типах данных cofe и flor - строки, а должны быть int.
    cofe = int(input('Сколько вы хотите кофе?: '))
    flor = int(input('Введите на каком вы этаже:'))

    Исключения не выходит из-за логического and if cofe in [1, 2, 3] and flor >= 100: он оценивает первое условие как False и не переходит ко второму.
    Ответ написан
    1 комментарий