Задать вопрос
  • Чем отличаются telegramBotApi и aiogram?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Чем отличаются aiogram и pytelegrambotapi?
    По большому счету ничем, принципы одни и те же, кроме того, что aiogram асинхронный и без знания этой области программирования его лучше не использовать

    UPD: Для небольших проектов, telebot - самое то. Если планируете выпустить в продакшн, то конечно, лучше смотреть на aiogram
    Ответ написан
  • Как сделать привязку к событию таким образом, чтобы игра начиналась после нажатия клавиши внутри окна?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    1. В классе Paddle добавить флаг запуска. Типа
      self.canvas.bind_all("<Button-1>", self.start)
      self.is_started = False

    2. Поменять start, чтобы флаг менялся:
      def start(self, evt):
              self.is_started = True

    3. В цикле проверять этот флаг
      while 1:
          if paddle.is_started and not ball.hit_bottom:
              ball.draw()
              paddle.draw()
          tk.update_idletasks()
          tk.update()
          time.sleep(0.01)


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

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Тройные кавычки используются для создания строк, а не для комментирования. Когда вы используете тройные кавычки внутри словаря, вы фактически создаете строку, которая становится частью словаря.
    Ответ написан
    Комментировать
  • Как воспроизвести .mp3 файл на Python с помощью PyGlet?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    В python нельзя просто так использовать обратный слеш, а уж если хочешь, то его надо экранировать
    import pyglet
    song = pyglet.media.load("C:\\Users\\Station\\Music\\padenie-truby.mp3")
    song.play()
    pyglet.app.run()

    Ну а судя по второй ошибке, у тебя файл поврежденнный (или он не существует)
    Ответ написан
    Комментировать
  • Как открыть с помощью Python файл, который пользователю сначала нужно выбрать?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Если с tkinter, то можно так
    import os
    from tkinter import filedialog
    
    def select_file():
        # Открываем диалоговое окно для выбора файла
        return filedialog.askopenfilename(
            title="Выберите программу",
            filetypes=(("Executable files", "*.exe"),)
        )
    
    # Получаем путь от пользователя
    file_path = select_file()
    
    # Проверяем, что путь к файлу выбран
    if file_path:
        os.startfile(file_path)
    else:
        print("Файл не выбран")
    Ответ написан
    3 комментария
  • Как сделать такие кнопки в телеграм боте?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Inline-кнопки ReplyKeyboardMarkup называется. Читайте документацию
    Ответ написан
  • Скачал файл паролей на 150гб чем открыть?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Не знаю где и как, но в Far-е и Total Commander-е есть режим просмотра, где файл не загружается в ram и не жрёт память
    Ответ написан
    Комментировать
  • У меня не хочет включаться программа в чем причина?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Доступ к значениям в словаре осуществляется с помощью квадратных скобок, а не фигурных. Правильно так
    client = commands.Bot(command_prefix = settings['PREFIX'])
    Ответ написан
    Комментировать
  • Как исправить ошибку taberror: inconsistent use of tabs and spaces in indentation?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Это базовые основы языка. Вам нельзя заниматься такими вещами, как discord и БД, если вы не умеете перевести ошибку, не знаете про правила отступов и табуляций в python и не умеете гуглить
    что делать
    1. Убедиться, что вы используете пробелы для отступов, а не табы.
    2. У вас где-то лишний отступ или наоборот отступа не хватает. Также может быть, у вас отступ не в 4 пробела, а больше/меньше

    UPD: не поленился залезть в исходники и посмотреть. Ну и что я вижу:
    @client.event
    async def on_member_join (member):
    	if cursor.execute (f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
        cursor.execute (f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 0)")
    	connection.commit()
    	   else:
    		pass

    Кто же так делает? Конечно, надо так:
    @client.event
    async def on_member_join (member):
        if cursor.execute (f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
            cursor.execute (f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 0)")
    	connection.commit()
        else:
            pass

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

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Имя файла, генерируемое ytdlp отличается от того, которое вы ожидаете, потому что он убирает из названия недопустимымые символы. filename замените filename = ydl.prepare_filename(info_dict) и всё должно заработать
    Ответ написан
    Комментировать
  • С какой периодичностью обновляется список сообщений в телеграме?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Список сообщений обновляется по факту, а не по таймауту, хотя всё зависит от клиента/сети и т. п.
    Ответ написан
    Комментировать
  • Выходит ошибка 'NoneType' object has no attribute 'encode' что делать?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    У вас password пустой, из-за проблем с переменной окружения (она отсутствует скорее всего).
    Попробуйте в командной строке ввести set f1w055552578=your_password, если у вас винда
    Ответ написан
    Комментировать
  • Как программировать на удаленном компьютере?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Windows RDP
    Ответ написан
    Комментировать
  • Объём записей у Жёстких дисков учитывается?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Можно ли полагаться на эти данные?
    Можно
    Почему их не указывают в программах и в характеристиках?
    А смысл? Вы 8ГБ записали, а потом 7ГБ стёрли. Хост-записей будет 8ГБ, а фактически будет занят только 1ГБ
    Ответ написан
  • Какой самый мощный сервис статистики для сайта?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Ответ в тегах, которые вы поставили
    Ответ написан
  • Почему в RuStore нужно вручную устанавливать обновленные приложения?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Потому что RuStore до Google Play далеко. Гугль плей устанавливает автоматом, потому что это "своё", доверенное приложение для андроида, а русторе он знать не знает и требует подтверждения.
    Что делать? Можно ли как-то это настроить?
    Ничего. Нельзя
    Ответ написан
    Комментировать
  • Нужен ли JavaScript пентестеру?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    для WEB пентестера
    Очевидно, что да
    Ответ написан
    4 комментария
  • Поможете исправить ошибку в Python коде?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Дробная часть отсекается int-ом int(kop) Во втором примере не закрыта скобка kop = ((a * n) + (b * n)) / 100
    Ответ написан
    1 комментарий
  • Как сделать альтернативное управление для сторонней игры, при помощи Python'a?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Устнавливаете keyboard и пишите скрипт, вроде этого:
    import keyboard
    
    # Функция, которая будет вызываться при нажатии клавиши 1
    def press_1():
        keyboard.press_and_release('f')
    
    keyboard.on_press_key('1', press_1)

    Он будет перехватывать нажатие единицы во всей системе (а не только в игре) и эмулировать нажатие клавиши f
    Ответ написан
    1 комментарий
  • Как найти процент залго в тексте?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    import unicodedata
    
    def is_zalgo(char):
        # Проверяем, является ли символ диакритическим знаком
        return unicodedata.category(char).startswith('L')
    
    def zalgo_percentage(text):
        total_chars = len(text)
        zalgo_chars = sum(1 for char in text if is_zalgo(char))
        if total_chars == 0:
            return 0
        return (zalgo_chars / total_chars) * 100
    
    text = "тут текст"


    Version 2.0
    import re
    
    def zalgo_percentage(text):
        zalgo_pattern = re.compile(r'[\u0300-\u036F\u0483-\u0489\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06ED\u0901-\u0903\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A40-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C00\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C82\u0C83\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D02\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032\u1036\u1037\u1039\u1058\u1059\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u1A17\u1A18\u1A55\u1A57\u1A60-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B04\u1B34\u1B36-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CED\u1D00-\u1DBF\u1E00-\u1EFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u20D0-\u20EF\u302A-\u302F\u3099\u309A\uA806\uA80B\uA825\uA826\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB]')
      
        count_zalgo = len(zalgo_pattern.findall(text))
        count_chars = len(text)
    
        if count_chars > 0:
            return (count_zalgo / count_chars) * 100
            
        return 0
    
    # Пример использования
    text = "В̶̻͗а̴̺ͧш̭͒͞ ̡̩͋т̷̙ͨе̸͔ͥк̸͕̍с̤̊͠т̯̋̕ ͖ͣ͟з̳̐̀д͚ͧ͞е̛̱̌с͖̌̕ь̛̘͊"
    percentage = zalgo_percentage(text)
    print(f"Процент залго в тексте: {percentage:.2f}%")
    Ответ написан