Задать вопрос
  • Как написать по-другому код полного перебора?

    Vindicar
    @Vindicar
    ffff567, ну это если расстановки уникальные. Разный порядок расстановки кораблей и смена позиций двух однотипных кораблей уникальность подпортят. Но идею примерно понял.
  • Как написать по-другому код полного перебора?

    Vindicar
    @Vindicar
    ffff567, и почему же? Какая твоя метрика?
  • Как написать по-другому код полного перебора?

    Vindicar
    @Vindicar
    ffff567, ну есть два варианта:
    1. "добивающие" ходы Г5, Д6, Д4, Е5
    2. ходы, которые по максимум сужают пространство, где может прятаться 4хпалубник. Тогда лучший будет З5 (накрывает 7 из 23 возможных позиций), а далее три одинаково хороших Е5, Ж5, З3 (по 5 из 23).
  • Как написать по-другому код полного перебора?

    Vindicar
    @Vindicar
    Задам встречный вопрос. Ты пытаешься определить куда стоит стрелять с наибольшей вероятностью?
    Для этого есть способы проще.
  • Как устроен вызов классов в Python?

    Vindicar
    @Vindicar
    3. Если класс не переопределил __new__ type.__call__ вызывает __init__ класса

    А вот это совсем не так.
    class Test:
        def __new__(cls):
            instance = super().__new__(cls)
            print(f'__new__() called, returning {instance=}')
            return instance
        
        def __init__(self):
            print(f'__init__() called on instance = {self}')
        
    
    t = Test()


    __new__() called, returning instance=<__main__.Test object at 0x0000020EC0301100>
    __init__() called on instance = <__main__.Test object at 0x0000020EC0301100>
    Написано
  • Кнопки бота на Aiogram перестают работать?

    Vindicar
    @Vindicar
    Проблема скорее всего не в коде, есть мнение что дело в токене бота, попробую его поменять, если поможет отпишусь.

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

    Vindicar
    @Vindicar
    Минимальный пример кода, воспроизводящий проблему - в студию!
    Написано
  • Как увеличить квоту API?

    Vindicar
    @Vindicar
    ksr123, а при том. Официальное приложение подпадает под лимиты? Если нет, то нужно мимикрировать под него. yt-dlp так и делает, вроде.
    Написано
  • Почему у пересланного сообщения нет свойств, которые у него должны быть Aiogram?

    Vindicar
    @Vindicar
    datel, почему это нет?
    https://docs.aiogram.dev/en/latest/api/methods/for...
    On success, the sent aiogram.types.message.Message is returned.

    Я так понял, вызов forward_message() вернёт тебе объект Message, соответствующий форварду, а не оригиналу. Просто сохрани его в переменную и вытащи ID. Разве не так?
    Написано
  • Создал код и когда пишу в powershell pyinstaller --onefile --windowed --icon=icon.ico testret.py пишет IndexError: tuple index out of range?

    Vindicar
    @Vindicar
    1. Оформи код, нечитаемо. Кнопка </> в помощь.
    2. Когда возникает ошибка: при сборке скрипта? Или при запуске?
    3. Проявляется ли она, если запустить скрипт без инсталлера?
    4. Каков полный текст ошибки? Скопируй и вставь сюда.
    Написано
  • Как переменную вывести в функцию?

    Vindicar
    @Vindicar
    1. Оформи код, нечитаемо же. Чем читаемее код, тем больше шансов что кто-то ответит.
    2. "не могу переменную вывести в функцию"
    Или переформулируй понятнее, в чём проблема...
    Или отложи бота, и попрактикуйся в основах питона.
    Написано
  • Как пройтись циклом for в файле txt?

    Vindicar
    @Vindicar
    Igor def, не, ты не понял =) Бот на них среагирует, но ругательств-то там нет. Так что модератору придётся размутить несправедливо замученных.
    Написано
  • Как пройтись циклом for в файле txt?

    Vindicar
    @Vindicar
    Igor def, можно и так, хотя такой подход по-прежнему среагирует на старое-доброе "гребля заштрихуй оскорблять" (т.е. на ситуации, когда слово не из чёрного списка содержит в себе слово из чёрного). Так куда аккуратнее, во всяком случае.

    А насчёт удаления - да, возможно, я перепараноил немного. С моей точки зрения, после того как сообщение удалено, с ним уже ничего нельзя делать - его больше нет. Но телега, походу, просто скрывает удалённые сообщения, как минимум на первых порах, так что они всё ещё существуют...
    Написано
  • Не работает FSM в Aiogram 3.18.0, у меня ошибка где-то?

    Vindicar
    @Vindicar
    Вот, уже лучше. Остаётся вопрос: как проявляется ошибка?
    Я подозреваю, что всё выглядит так, будто у тебя всегда отрабатывает command_start_handler() вместо последующих. Я прав?
    Написано
  • Как пройтись циклом for в файле txt?

    Vindicar
    @Vindicar
    Это может работать, но это трижды неправильно.
    1. from list_mat import list за переопределение встроенных имён (а list - именно такое) в приличном обществе бьют по рукам.
    2.
    len(message.text) > len(message.text.replace(i, ""))
    - а ещё более через задницу слабо решить? Чем просто i in message.text не подошло? Впрочем, и тот, и тот вариант не справятся с другим регистром текста (большие буквы или маленькие).
    3. Сначала удаляем сообщение, потом на него отвечаем? Нелогично. Это может работать, но нет гарантий, что это будет работать всегда. Лучше в обратном порядке.

    Твоя первоначальная попытка упиралась в две простые вещи. Первое, если ты делаешь цикл for по файлу, ты перебираешь его строки, т.е. каждое слово должно идти на отдельной строке, без кавычек и прочего. Второе, при этом символ перевода строки тоже читается, и его надо убрать (например, методом strip()).
    Так что сделать список из строк файла можно очень просто:
    with open('file.txt', 'rt', encoding='utf-8') as f:  # гарантирует, что файл будет закрыт
        # перебирает строки в файле, помещает каждую в line, делает strip(), результат помещает в список word_list
        word_list = [ line.strip() for line in f ]

    Это можно будет сделать один раз, при запуске бота, а не читать файл при каждом сообщении.
    Впрочем, в этом случае для обновления списка слов потребуется перезапуск бота, а если делать это при обработке сообщения, то обновлённый список подхватится сразу же.
    Написано
  • Не работает FSM в Aiogram 3.18.0, у меня ошибка где-то?

    Vindicar
    @Vindicar
    1. Оформи код, он нечитаем. Кнопка </> в помощь. Чем читаемее код - тем больше шансов, что кто-то захочет отвечать на твой вопрос.
    2. Ты спалил токен от бота, теперь любой желающий может работать от имени твоего бота. Бегом к BotFather и перевыпускай токен.
    3. "Пытаюсь сделать состояния уже в сумме 5 часов и разобраться в чём ошибка" - если ты не можешь сформулировать, в чём ошибка, тебе не помогут. Для начала, опиши что-то вроде: "я ввожу/делаю то-то и то-то, программа должна вести себя вот так, а она ведёт себя вот эдак."
    4. Про ИИ даже не заикайся. Начинающему от него больше вреда чем пользы.
    5. Возьми за основу официальный пример и шаг за шагом преобразуй его.
    Написано
  • Почему не работает бот на aiogram?

    Vindicar
    @Vindicar
    Azat2015, эвона. Т.е. внутрь main() управление не заходит вообще? Ну ничего себе.
    Написано
  • Как установить sklearn в pycharm?

    Vindicar
    @Vindicar
    Ну во-первых, вбивать pip в терминал питона - это даже не смешно.
    Во-вторых, пытаешься скачать в packages что именно? Какое имя пакета вводишь? scikit-learn?
    Написано