Задать вопрос
  • Как сделать Embed?

    Vindicar
    @Vindicar
    RTFM!
    Окей, гугл, disnake Embed.
    Получаешь ссылку с подробным туториалом, читаешь, осознаёшь.
    А ещё - учишься сначала гуглить, а только потом задавать вопросы.
    Ответ написан
  • Как сделать авто-перезагрузку кода Python?

    Vindicar
    @Vindicar
    RTFM!
    Быстрое и грязное решение
    while True:
        try:
            ... # твой код
        except Exception as err:
            print(err)
    Ответ написан
    2 комментария
  • Как установить библиотеку с github?

    Vindicar
    @Vindicar
    RTFM!
    Зависимости не установлены. Вообще обрати внимание, что в папке dist/python лежит файл .whl - этот wheel можно установить через менеджер пакетов pip, просто как pip install filename.whl. Тогда pip должен сам подтянуть нужные зависимости.
    Ответ написан
    2 комментария
  • Как отправить в телеграм бот определенные данные из полученных запросом?

    Vindicar
    @Vindicar
    RTFM!
    Ну так перебирай элементы pol циклом, если для текущего элемента ключ 'bd' имеет правильное значение, отправляешь текущий элемент и прерываешь цикл. Если такого элемента так и не нашлось, сообщаешь об этом.

    Это знание цикла for, ветвления и базовых операций со списками и словарями, тащем-то. Такие азы стоит выучить до того как заниматься ботошлёпством.
    Ответ написан
    3 комментария
  • Как хранить общие для всех пользователей переменные в aiogram?

    Vindicar
    @Vindicar
    RTFM!
    Зависит от того, насколько велики эти данные и насколько легко их можно восстановить при перезапуске бота.
    Если невелики, и восстановить легко - почему бы и нет.
    Если велики (сотни мегабайт) или если нужно отдавать старые данные если сам сайт лежит, то лучше сохранить их в более персистентное хранилище (БД или файл).
    Ответ написан
    Комментировать
  • Как решить задачу?

    Vindicar
    @Vindicar
    RTFM!
    Вообще проблема в задании: фраза "какое количество символов из S входит в J" не содержит пояснения, могут ли быть повторы в строках S и J, и должны ли они учитываться. Я предполагаю, что повторы в J учитываться не должны, а повторы в S - должны.

    В твоём коде, если в строке J есть повторяющиеся символы, код даст неправильный ответ. Пример:
    a = 'AAB'
    b = 'AcdefBfedc'

    Твой код даст ответ 3, а не 2.

    Попробуй проще - пройди по символам строки b, для каждого символа проверь, входит ли он в строку a.
    Ответ написан
    Комментировать
  • Можно ли получить видео с вебкамеры?

    Vindicar
    @Vindicar
    RTFM!
    Если ты имеешь ввиду отправку видеопотока, то тут очень много "но".
    Ты просишь ссылку? Это подразумевает, что на целевой машине должен быть развёрнут сервер для потокового вещания, и он должен быть доступен извне, из интернета. Это условие будет выполняться?
    Или же у тебя должен быть развёрнут какой-то промежуточный сервер в интернете, на который скрипт будет коннектиться, и которому будет передавать видео для ретрансляции.

    Вообще это реализуется и без питона, например с помощью всё того же ffmpeg. Но в использование ffmpeg тоже нужно въезжать.
    Ответ написан
    Комментировать
  • Какую библиотеку использовать?

    Vindicar
    @Vindicar
    RTFM!
    Тебе нужно именно на питоне?

    Потому что имхо, это можно решить, если оформить приложение как службу Windows с помощью NSSM. Оно позволяет настроить автоперезапуск, в том числе.
    Ну а под никсами есть systemd или что-то подобное.

    Если нужен именно свой скрипт, то psutil.
    Ответ написан
    2 комментария
  • Как сделать удаление юзера после его выхода из бота, Telegram?

    Vindicar
    @Vindicar
    RTFM!
    1. Форматируй код как положено правилами сайта, кнопкой </>. Нечитаемо же.
    2. Что значит "не работает"? Просто ничего не делает? Останавливается с сообщением об uncaught exception? Компьютер спрыгивает со стола и начинает искать Сару Коннор? Программа может не работать многими способами, приводи описание симптомов и сообщения об ошибках. Сообщения об ошибках тоже стоит обернуть кнопкой </>.
    3. Я подозреваю, что дело именно в uncaught exception. В этом случае рекомендую почитать учебник по Питону, раздел о работе с исключениями. Хотя бы вот этот. Оберни отправку сообщения в блок try-except, при возникновении ошибки можно либо просто игнорировать её, либо добавлять в список "неудавшихся".
    Дальше с этим списком уже можно будет работать, например, попытаться убрать все "неудачные" user ID из joineduser, и записать очищенный список обратно в /home/example.txt.
    Ответ написан
    2 комментария
  • Как поправить код python?

    Vindicar
    @Vindicar
    RTFM!
    Что такое wr() и зачем оно нужно вообще?
    Просто почитай как работать с файлами в питоне, там никакие функции-обёртки не нужны.
    Ответ написан
  • Как исправить ошибку can't multiply sequence by non-int of type 'float'?

    Vindicar
    @Vindicar
    RTFM!
    Код феерический.
    #?!??!?!
        for i in array:
            for j in i:
                if array.index(i)==i.index(j):
                    ans+=[j]

    не будет работать, если в строке матрицы одно и то же число встречается дважды.
    Ну и зачем перебирать столбцы, если тебе уже известен индекс столбца - он равен индексу строки? Функцию range() ты вроде уже знаешь, освой метод append() списка, заодно.
    diagonal = []
    for i in range(len(array)):  # цикл по номерам строк матрицы
        diagonal.append(array[i, i])  # берём элементы, у которых номер строки и столбца одинаков


    ans[i]*m[i:]
    Ты умножаешь элемент массива ans[i] на список строк чего-то по имени m. Что такое m, оно же не определено в функции?
    X = []
    for i in range(len(array)):  # перебираем номера строк массива array
        x_item = 0  # скалярное произведение будет тут
        for j in range(len(diagonal)):  # перебираем номера элементов диагонали
            x_item += diagonal[j] * array[i, j]  # добавляем очередную часть произведения
        X.append(x_item)

    То же самое можно записать короче, например, так:
    X = []
    for row in array:
        X.append(sum( d*r for d, r in zip(diagonal, row) ))

    Но это сложнее для понимания новичку.
    Ответ написан
  • Корректно ли в C++ называть стек статической памятью?

    Vindicar
    @Vindicar
    RTFM!
    Кирилл Гусарев, по вашему определению статическая память - это секция инициализированных данных exeшника.
    ЕМНИП, C++ в эту секцию кладёт инициализирвоанные глобальные переменные. Насчёт статических локальных не уверен.

    Вообще программа имеет доступ к четырём видам памяти:
    - секция инициализированных данных выделяется загрузчиком, её содержимое загружается из EXE файла, где оно хранится как образ.
    - секция неинициализированных данных выделяется загрузчиком, её содержимое забивается нулями. В EXE файле хранится только её размер.
    - Насчёт стека не уверен. Вроде со стеком главного потока исполнения то же самое, его размер прописан в экзешнике. Но кто его выделяет - загрузчик или рантайм языка... я подозреваю, что загрузчик. Стеки дополнительных потоков выделяются по запросу программы.
    - куча выделяется по ходу работы программы. Менджер кучи Windows создаёт одну кучу для процесса, дальнейшее управление кучами - дело самого процесса.

    Всё это - только для виндовых EXE. Про линукс я не в курсе.

    Стек статический в том смысле, что его размер в норме не меняется - блок памяти выделяется один раз, и просто используется большая или меньшая его часть.
    Ответ написан
    Комментировать
  • Почему выводится ошибка и как ее исправить Sqlite3 Disnake?

    Vindicar
    @Vindicar
    RTFM!
    Запомни простую вещь: никогда, никогда не формируй SQL-запросы форматированием строк. Ни f-строками, ни методом format(), ни %-форматированием. Ты сейчас на своей шкуре почувствовал, почему этого не стоит делать.
    И читай документаци, там написано как правильно. Более того, есть отдельный раздел как раз об этом. RTFM!
    Ответ написан
    Комментировать
  • Как / возможно ли вытащить аргуметы из класса?

    Vindicar
    @Vindicar
    RTFM!
    Функция dir() покажет, какие поля и методы есть в классе. Пробуй.
    Ответ написан
    Комментировать
  • Как проверить с помощью Python открыт ли определенный сайт на ПК или нет?

    Vindicar
    @Vindicar
    RTFM!
    1. Получить список IP адресов, ассоциированных с целевым сайтом. В простейшем случае - через DNS запрос, но в некоторых случаях это может быть сложнее (например, сайт использует CDN).
    2. Получить список активных TCP соединений, у которых удалённый порт 443 (опционально, 80). Определить удалённые адреса.
    3. Проверить, пересекаются ли два множества адресов.
    Этот подход обломается, если браузер использует прокси, или если на машине поднят VPN.

    Альтернативно, установить системный прокси сервер, который будет отслеживать открываемые сайты. Но браузер не обязан его использовать, так что это тоже ненадёжно.
    Ответ написан
    2 комментария
  • Как начертить правильный n-угольник с центром в точке (x, y) на поверхности шара?

    Vindicar
    @Vindicar
    RTFM!
    Т.е. у нас есть окружность в трёхмерном пространстве. И все вершины n-угольника будут лежать на этой окружности. Тогда задача сводится к:
    1. Перейти от широты, долготы, радиуса шара и радиуса окружности к координатам истинного центра окружности (не того, что на земле, а того, что под землёй) и вектору нормали к этой окружности (вектор радиуса шара, проходящего через центр).
    2. Зная их, найти вектор, направленный "на восток".
    3. Поворачивать этот вектор вокруг нормали на 360/n градусов.

    Первое - находим координаты вектора, направленного из центра в точку (x, y), в трёхмерном пространстве, где центр шара - начало координат. Назовём его осевым радиусом.

    Найти истинный центр не так уж сложно. У нас есть прямоугольный треугольник, где гипотенуза - радиус шара R, а один катет - радиус окружности r. Тогда второй катет будет расстоянием от центра шара до истинного центра окружности вдоль осевого радиуса.

    Найти вектор "на восток" можно по правилу буравчика. Если не путаю, векторное произведение осевого радиуса на вектор, из точки (x, y) на север, даст нам нужный вектор.

    Дальше осталось только поворачивать этот вектор.
    Ответ написан
    Комментировать
  • Почему переменная http_ex пустая?

    Vindicar
    @Vindicar
    RTFM!
    str(http_ex)
    А ты выводишь строковое представление этой переменной. Не факт, что оно включает в себя status_code и detail.
    Ты уверен, что она пустая? Что, если сделать repr(http_ex)?
    Ответ написан
  • Как сделать цикл for и условие if in в одну строку?

    Vindicar
    @Vindicar
    RTFM!
    цикл for с последующим условием if in будет использоваться более 1000 раз.
    Можно ли как то сократить в 1 строку?

    Можешь пояснить, какая вообще связь между длиной кода и числом использований?

    В принципе ты можешь использовать регулярные выражения под эти цели. Они более гибкие, чем просто набор подстрок.

    Сейчас выглядит как будто ты пишешь этакого чат-бота для терминала. Если я прав, то длинная цепочка из if-elif-elif тут не подойдёт.

    Но если прямо невтерпёж, то
    if any(word in text for word in ["привет", "хай"]):
    Ответ написан
    6 комментариев
  • Как принимать данные на сервер с определённого порта?

    Vindicar
    @Vindicar
    RTFM!
    Данные в каком формате отправляются? В каком-то своём, или это обычный HTTP запрос?
    Если в своём, просто настрой запуск своего php скрипта как демона через systemd unit.
    Ответ написан