Задать вопрос
  • Как задать глобальное динамическое имя переменной?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Словарь.
    Ответ написан
    Комментировать
  • Ввожу 8 9 10 min() выбирает 9 max() 10. max - min = -1. Как так?

    @bbkmzzzz
    Потому что нужно почитать документацию на функцию max
    Если max\min передать строки - он найдет строку(!) подходящую лексиграфически, то есть в алфавитном порядке.
    Строка '10' < '9', так как 1 идет раньше 9.

    Не надо переопределять встроенные имена. Считайте их зарезервированными и недоступными для именования переменных
    max = max(s)
    min = min(s)
    Ответ написан
    Комментировать
  • Как установить pip конкретной версии?

    planc
    @planc
    https://docs.python.org/3/tutorial/venv.html

    python -m ensurepip --help


    --altinstall Make an alternate install, installing only the X.Y versioned scripts (Default: pipX, pipX.Y, easy_install-X.Y).
    Ответ написан
    Комментировать
  • Почему выводит ошибку Traceback?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В вашем коде нет строки, на которую ссылается ошибка.
    bags = int(input())

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

    Eggsy
    @Eggsy
    Может стоит воспользоваться исключениями в Python? (https://yandex.ru/search/?text=try+except+python&l...)
    Ответ написан
    Комментировать
  • Как сделать автоматический набор кода?

    @dmshar
    Я знаю, что существует приложения по типу Serenade или Talon, которые позволяют осуществить голосовой набор кода, мне бы хотелось узнать, возможно ли осуществить подобное на Python и если да, то что для этого требуется.
    Мне кажется, ответ совершенно очевиден для любого, кто реально является квалифицированным разработчиком.
    1. Разобраться и написать - возможно самому, а возможно путем вскрытия/изучения хотя-бы указанных пакетов - как это все должно будет выглядеть.
    2. Составить ТЗ на разработку с - желательно - максимально подробным описанием алгоритмов, которые при этом будут задействованы.
    3. По дороге понять, не просто "что потребуется", а специалисты в каких областях потребуются для разработки такого софта, а потом - найти и нанять таких специалистов на работу.
    4. Организовать процесс разработки.

    Если вы скажете, что все это очевидно - то полностью соглашусь, да все это полностью очевидно, но уж какой вопрос - такой и ответ.

    По ходу - несколько замечаний.
    1. Практически все, что делается с помощью других языков программирования можно реализовать и на Python. Вопрос только в удобстве и скорости разработки и в эффективности полученных программных продуктов.
    2. "Для этого" - совершенно очевидно - требуется хорошо знать возможности Python.
    3. Сама задача - создавать код "с голоса" - задача весьма сомнительной пользы. Кому она нужна? Инвалидам без рук? Или тому кто хочет диктовать (кстати - что именно? Саму программу, написанную предварительно на листочке?) и одновременно жевать бутерброд, "наблюдая" за процессом составления кода? Или школьнику, не осилившему изучения языка программирования и мечтающему, что-бы это за него делала программа?
    4. Абсолютно уверен, что даже если такая программа будет создана, ни скорость разработки ни даже качество конечного продукта не будут улучшены по сравнению с теми инструментами, которые имеются сегодня в наличии.
    5. Что бы понять, каково будет работать с таким продуктом - попробуйте поработать с намного более простым приложением - любым голосовым ассистентом, оцените его "удобства и преимущества" по сравнению с непосредственной. традиционной работой системы. А за одно почитайте, какие коллективы разработчиков трудились над созданием такого продукта.
    Ответ написан
    9 комментариев
  • Хочу написать фильтр мата, есть идеи как это можно реализовать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это война снаряда и брони, то есть она бесконечна. Её невозможно выиграть. Как только вы улучшаете броню, противник в ответ улучшает калибр снаряда, и так по кругу. Лучшим решением будет попытаться остановить войну, помешать её течению, а не наращивать мощь вооружения.

    Один из способов сделать это - перестать воевать, то есть сдаться. Тогда "игра" закончится. Те, кто пытался "победить систему", будут объявлены победителями и потеряют интерес к дальнейшей борьбе. Хотя останутся и те, для кого мат - это норма, и будут продолжать использовать его.

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

    Ещё приём - в дополнение к предыдущим - отсроченное наказание (модератором). "Игрок" не будет получать немедленное подкрепление в виде "молодец, обошёл фильтр", а будет вынужден ждать жюри. Однако ждать никто не любит, это тоже сильно бьёт по мотивации продолжать игру в сопротивление системе. Поэтому многие "партизаны" перейдут на сторону добра, ибо скучно.
    Ответ написан
    Комментировать
  • Я хочу чтобы на этот сайт смогли зайти люди с другим IP и WI-FI. Как это сделать?

    karabanov
    @karabanov
    Системный администратор
    Размести его там, где будет доступ с других IP и Wi-Fi.
    Ответ написан
    Комментировать
  • Как сделать чтоб одинаковые записи не заносились в бд?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    смотря чего добиться хотите. Если город действительно должен быть уникальным - проверить наличие такого города перед записью. Если в одном городе может жить больше 1 пользователя - убрать уникальность.
    Ответ написан
    Комментировать
  • Как интерпретировать JavaScript при запросе requests?

    @AlexBoss
    Не слушай знатока выше. Через селениум будет проще, но можешь посмотреть что за запрос идет и кинуть его отдельно, нужно только зависимость найти в передаваемых данных и сгенерить запрос.
    Ответ написан
    2 комментария
  • Как реализовать потоки выполнения сопрограм бота?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Во-первых, в принципе не стоит смешивать асинхронность с многопоточностью. Во-вторых, вам этого и не нужно, aiogram для того асинхронным и разработан, чтобы его могли использовать несколько юзеров одновременно. Для этого достаточно код правильно написать.
    Ответ написан
    Комментировать
  • Как происходит присваивание матриц?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    почему это происходит?

    Потому что:
    a = [1,2,3,5,6]
    b = a
    print(id(a))
    print(id(b))
    # 1552394418184
    # 1552394418184

    и A, и B - ссылаются после присваивания на один и тот же объект.

    что делать чтобы такого не было


    b = a.copy()
    print(id(a))
    print(id(b))
    # 1552394980744
    # 1552395031496

    теперь это два разных объекта
    Ответ написан
    1 комментарий
  • Как мне переделать кнопку, чтобы она стояла "Как надо"?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как пофиксить ошибку?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Код нужно переписать. Задача решается 1 запросом:

    select user_id from users order by lvl desc limit 10;


    Как-то так..
    Ответ написан
    Комментировать
  • Как передать только 1 аргумент из 3?

    Zoominger
    @Zoominger Куратор тега Python
    System Integrator
    Да, если для тех параметров, что вы передавать не будете, определены значения по умолчанию.
    Ответ написан
    6 комментариев
  • Как проверить, есть ли в одной из колонок двумерного массива хоть одно непустое значение?

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

    $columns = [];
    foreach($array as $row) {
        foreach ($row as $i=> $col) {
            $filled = $col !== "";
            $columns[$i] = !empty($columns[$i]) ? $columns[$i] : $filled;
        }
    }
    
    foreach($columns as $col => $result) {
        echo "Колонка $col ".($result ? "не" : ""). "пустая\n";
    }
    Ответ написан
    Комментировать
  • Где учится созданию ботов на python?

    Zoominger
    @Zoominger Куратор тега Python
    System Integrator
    Нигде. Читаете книжку по Пистону, читаете модуль для Telegram. Пишете.
    Ответ написан
    Комментировать
  • Как написать утилиту командной строки?

    @dmtrrr
    Backend developer
    Комментировать
  • Бот не видит пробелы, что делать?

    https://discordpy.readthedocs.io/en/stable/ext/com...

    from typing import Optional
    
    ...
    
    @client.command()
    async def buy(ctx, amount: Optional[int] = 1,  *, item: str):
    Ответ написан
    Комментировать