Задать вопрос
  • Как настроить авторизацию в telegram боте?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Идея? Есть отличная оригинальная идея - немножко подучиться программировать на выбранном вами языке. Не искать карьеру разработчика ботов беззнания программирования, а именно подучить язык и основы алгоритмизации.
    А задача ваша решается просто. Начать надо с декомпозиции.
    При запуске бота вам нужно открыть этот текстовый файл и загрузить его контент в структуру, и, если не получилось, то создать пустую структуру.
    Если пользователь, нажавший у бота кнопку старт не найден в этой структуре, то бот должен запустить сценарий регистрации. Что вы под этим понимаете? Вопросы какие-то задать пользователю и сохранить ответы?
    При окончании регистрации нужно сохранить структуру в файл.

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

    После этого у вас вот эти вот вопросы отпадут все.
    Ответ написан
    Комментировать
  • Как инициализировать переменную раньше функции в Python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Что то ты с кодом ты напутал. Список может быть изменен из функции. Внутри функции python работает следующим образом.
    1. Первым делом python смотрит есть ли ключевое слово global

    2. Вторым есть ли ключевое слово nonlocal

    3. Третьим в параметрах, если там имя есть то переменная становится локальной.

    4. Если переменная упоминалась (но не было определена) то python смотрит на нелокальную область видимости.

    5. Если переменная упоминалась (но не было определена) и не найдено в нелокальной области видимости то смотрит в модуле

    6. Если и там не нашел то в встроенных пример max,min и т.д.

    a = 1
    b = 2
    c = 3
    
    def func():
        print(a,b,c)
    
    if __name__ == "__main__":
        func()
    Работает, как ожидается, а теперь маленькое изменение
    a = 1
    b = 2
    c = 3
    
    def func():
        print(a,b,c)
        c = 100
        print(c)
    
    if __name__ == "__main__":
        func()
    И все ошибка даже print(a,b,c) не выполнится. Потому что с находится в локальной области видимости функции python ее находит и также он находит ее упоминание (print(a,b,c)) до ее определения.

    def func():
        global c
        print(a,b,c)
        c = 100
        print(c)
    
    if __name__ == "__main__":
        func()


    Вся это проблема актуальна только для НЕ мутабельных типов например
    a = [0]
    b = [0]
    c = [0]
    
    def func():
        print(a,b,c)
        c.append(100) 
        print(c)
    
    if __name__ == "__main__":
        func()

    Все работает как и ожидается. Ну и пару слов об использовании global. Я персонально не сторонник утверждения никогда не используй global Но безусловно данная конструкция актуальна для не локальной области видимости то есть вот так.
    def func():
        total = 0
        def inner():
            nonlocal total
            total +=1
            return total
        return inner
    
    
    if __name__ == "__main__":
        add = func()
        print(add())
        print(add())
        print(add())
    Если убрать ключевое слово nonlocal то мы получим ошибку.
    Ответ написан
    Комментировать
  • Как правильно организовать репозитории?

    @vitaly_il1
    DevOps Consulting
    Я не программист, а DevOps, использую репо/организацию заказчика.
    Честно говоря, не понимаю, как/зачем использовать свой аккаунт - как тогда передавать код заказчику?
    Ответ написан
    4 комментария
  • В чем проблема плагинов "раскрашивания" скобок для IDE?

    @Everything_is_bad
    Нет никакой проблемы, и не нужно из чисто субъективной вещи, пытаться ее придумывать, кому-то нравится, кому-то нет, вот и всё.
    Ответ написан
    Комментировать
  • Можно ли использовать кириллицу в Active Directory?

    @Drno
    лучше всегда и везде в таких местах использовать латиницу. кто его знает что сломают в следующем обновлении)
    Ответ написан
    Комментировать
  • Почему Kubuntu и другие дистрибутивы называет стоковые папки кириллицей?

    hint000
    @hint000
    у админа три руки
    Это не папки, а сивольные ссылки на папки. Сами папки латиницей. Desktop, Documents, Downloads, Music, Pictures, Videos.
    $ cat ~/.config/user-dirs.dirs
    # This file is written by xdg-user-dirs-update
    # If you want to change or add directories, just edit the line you're
    # interested in. All local changes will be retained on the next run.
    # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
    # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
    # absolute path. No other format is supported.
    # 
    XDG_DESKTOP_DIR="$HOME/Desktop"
    XDG_DOWNLOAD_DIR="$HOME/Downloads"
    XDG_TEMPLATES_DIR="$HOME/Templates"
    XDG_PUBLICSHARE_DIR="$HOME/Public"
    XDG_DOCUMENTS_DIR="$HOME/Documents"
    XDG_MUSIC_DIR="$HOME/Music"
    XDG_PICTURES_DIR="$HOME/Pictures"
    XDG_VIDEOS_DIR="$HOME/Videos"

    Откуда это всё?:
    Есть такой стандарт.
    https://specifications.freedesktop.org/basedir-spe...
    https://ru.wikipedia.org/wiki/Freedesktop.org
    Ответ написан
  • Почему камера HIWATCH не zoom'ится регистратором DAHUA?

    @Alexii666 Автор вопроса
    кнопкой на камере (типа джойстика) переключился в CVi режим и все заработало))))))))
    Ответ написан
    2 комментария
  • Как убрать распознавание, некоторых объектов в YOLOv8?

    Здравствуйте! Если Вы используйте метод predict или просто обращаетесь к экземпляру model(), то Вы можете использовать атрибут classes. Он принимает список с id классов, которые будут распознаны.

    id классов можно найти в .yaml файле для обучения модели. в случае в датасетом COCO, на котором обучена модель YOLO, которая идет в этой библиотеке, этот файл можно найти по ссылке https://github.com/ultralytics/ultralytics/blob/ma...

    from ultralytics import YOLO
    
    # Load a pretrained YOLOv8n model
    model = YOLO('yolov8n.pt')
    
    # Run inference on 'bus.jpg' with arguments
    model.predict('bus.jpg', save=True, imgsz=320, conf=0.5, classes=[0,1])
    
    #или так
    #model('bus.jpg', save=True, imgsz=320, conf=0.5, classes=[0,1])


    вот ссылка на документацию https://docs.ultralytics.com/modes/predict/#infere...

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

    @Everything_is_bad
    Варианты:
    1. Сесть и нормально разобраться с Django ORM, там очень много возможностей. Так же для работы с ним надо перестать думать уровнем SQL, т.е перейти на уровень взаимодействия между models
    2. Либо нанять нормально программиста, он за тебя это перепишет.
    Ответ написан
    Комментировать
  • Pandas, может ли он задавать ширину столбца при записи в excel таблицу?

    Maksim_64
    @Maksim_64
    Data Analyst
    Пандас использует различные "writer's" для записи файлов. Говоря об xlsx файлах, по умолчанию это XlsxWriter (это не единственный ты можешь использовать другие, у методов по типу to_excel, есть параметр engine).

    Как осуществляется взаимодействие и настройка вывода там в принципе все что угодно можно читать здесь https://xlsxwriter.readthedocs.io/working_with_pan...

    также в меньшей степени но можешь перичитать доки к to_excel методу. Там есть пару примерчиков как использовать XlsxWriter. Но основное по ссылке.
    Ответ написан
    Комментировать
  • В VSCode не импортируется библиотека Filters, что бы не делал, никак не хочет подхватываться. У кого была такая же проблема? Как можно это пофиксить?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    VSCode тут вообще не при чём, импорт выполняется в питоне, а не в редакторе кода.
    С версии 20.0 модуль Filters был полностью переписан. Подробно читайте здесь:
    https://docs.python-telegram-bot.org/en/stable/tel...
    Ответ написан
    Комментировать
  • Как решить эту задачу?

    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 комментария
  • Какое лучшее приложение терминала (локального) для Android?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Есть терминалы под сам андроид, без какой-либо обвязки и утилит, что в системе есть - тем и пользуйся. Ничего сравнимого с Termux, у которого есть готовая мини-система, пакетная база и пакетный менеджер.

    Нужно ещё понимать, что с какого-то SDK Level приложения больше не могут делать exec и запускать другие приложения соответственно. А с более низким SDK Level больше невозможно пройти review у гугла. Поэтому Termux нынче распространяется через сайт в виде apk-файла, а не из магазина.

    А чем Termux не угодил? Всё остальное всё равно никак по фичам не дотягивает.
    Ответ написан
    Комментировать
  • Как изменить строчку кода HTML на чужом сайте tampermonkey?

    byte916
    @byte916
    1. Установите в браузер дополнение, которое делает js-иньекции в сайт. Например, в Firefox первое что нашлось - JS Injector.
    2. Добавьте в этом приложении, для нужного сайта такой код:
    document.querySelector('[placeholder="Employee ID"]').type='';
    Ответ написан
    1 комментарий
  • Почему не работает код telegram для уведомления о новых видео в python?

    @Everything_is_bad
    PS: И да, этот код я сделал благодаря Chat-GPT 4 Turbo
    вот его и проси исправить
    Ответ написан
    Комментировать
  • Ошибка Mac os Sonoma?

    GavriKos
    @GavriKos
    open core

    вот в этом.
    Ответ написан
    2 комментария
  • Как привязать домашнюю папку к пользователю?

    usermod -d /home/B A
    Ответ написан
    Комментировать
  • Почему появляется ошибка «“)” syntax error»?

    fenrir1121
    @fenrir1121
    Начни с документации
    Потому что нужно читать ошибку, а затем число открывающих и закрывающих скобок, если за вас это не делает IDE.
    И не используйте f строки в sql запросах, на эту тему есть множество ответов.
    Ответ написан
    2 комментария
  • Как правильно использовать Docker в Ubuntu?

    Alex_Geer
    @Alex_Geer
    System Engineer
    Есть удобный инструмент предоставляющий web-gui для управления docker.
    portainer.io

    А вообще что может быть лучше и удобней терминала? Все же предельно удобно и понятно. Все ошибки как на ладони. Ни чего не упустишь. Советую привыкать к терминалу. Это лучшее решение.
    Ответ написан
    Комментировать
  • Как заблокировать все функции бота пока пользователь не подпишется на канал?

    @Everything_is_bad
    пробовал реализовать это через глобальную переменную
    да когда вы уже поймете, что вам нужно персистеное хранилище (а глобальными переменные новички вообще пользоваться не умеют), упал твой бот или ты его перезапустил, всё, обнулилась твоя переменная. Используй нормальную СУБД, причем не sqlite, с ней будет проблема, потому что боты работают в конкурентной среде, а тут еще и async
    Ответ написан
    2 комментария