Задать вопрос
  • Для чего нужен Promise.resolve, если он не срабатывает в Promise?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Promise.resolve(value) - это статический метод, возвращающий промис в состоянии fulfilled с указанным значением.
    Эквивалент new Promise((resolve) => resolve(value))
    И можно как-то выполнить промис без аргументов?
    Что значит "выполнить"? Создать можно, сменить статус с pending на fulfilled нельзя, на rejected можно по исключению.
    P.S. Если вас смущает то, что и там и там используется resolve, то в new Promise это всего лишь название переменной для каллбэка в функции. Оно может быть любым.
    new Promise((แก้ไข) => แก้ไข('Решено'));
    //Promise { <state>: "fulfilled", <value>: "Решено" }
    Ответ написан
    Комментировать
  • Почему выдает ошибку при вводе команды?

    @PavelMos
    await ctx.send(embed =  discord.Embed(description = f"""Баланс **{ctx.author}** состовляет **{cursor.execute("SELECT cash FROM users WHERE id ={}".format(ctx.author.id)).fetchone()[0]}**"""
    TypeError: 'NoneType' object is not subscriptable


    Вероятно пытаешься взять элемент из возвращаемого резульатат fetchone, а результат пустой None.
    Если так, что надо делать проверку и обработку условия, что делать дальше.
    Читай подробнее про работу с SQL на питоне и про то, что функции возвращают
    Ответ написан
    Комментировать
  • Почему программа загружается в разных областях памяти?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему программа каждый раз занимает различные области памяти?

    Потому что современные ОС делают это намеренно, чтобы затруднить эксплуатацию уязвимостей в ПО. Это называется ASLR: address space layout randomization. Обычно есть способ отключить ASLR глобально либо для отлаживаемых программ, чтобы добиться воспроизводимости результатов.
    Так, например, в linux это делается глобально с помощью файла /proc/sys/kernel/randomize_va_space либо командой setarch -R для одного конкретного процесса. Отладчик gdb по умолчанию отключает ASLR для отлаживаемых программ.
    Ответ написан
    3 комментария
  • Как поменять при выводе списка последнюю запятую на 'или'?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Подсказка:
    Выведи последовательность без последнего элемента, потом союз, потом последний элемент.
    Это просто. Можно сделать одной строчкой.
    Тебе понадобятся темы: f-строки и срезы.

    spoiler
    В скобках замечу, что очень полезно будет заодно изучить тему «списки», обратить внимание на литералы списков. Также порекомендую никогда не использовать имена стандартных типов (list, dict и т.п.) в качестве имен своих переменных. Если очень хочется, пиши my_list.
    Ответ написан
    2 комментария
  • Существует ли под Ubuntu Desktop 20.04 какой-нить нормальный пакет для менеджмента VPN-соединений?

    @AlexVWill
    nm-connection-editor - это для редактирования и автозапуска, а для включения/отключения/переключения обычный Network Manager в трее - он для этого и предназначен.
    Ответ написан
    3 комментария
  • Возможно ли связать два python приложения?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    2 комментария
  • Как замаскировать эмулированные движения мыши и нажатия клавиш?

    @Catt96
    курить люблю пипец...
    Берёшь МК поддерживающий работу как HID(какая нибудь Arduino Leonardo или подобные). Пишешь под неё клиент, а у себя на компе разводишь сервак который будет слать в дуину данные. Реализовываешь работу с большими алгоритмами и вычислениями на своём сервере. Всё просто и легко! Но анти-чит может знать об этом так что не гарантирую 100% работоспособности. Надеюсь я вам помог!
    Ответ написан
    Комментировать
  • Как упомянуть всех пользователей одной роли в Discord.py?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Ваша задумка буквально противоречит заложенному смыслу ролей, они нужны в первую очередь чтобы так не делать и вы получите тот же результат, но значительно более сложным путем.

    Если не передумали, то алгоритм следующий.
    Получить нужную роль utils.get, циклом по всем пользователям сервера проверять наличие данной роли у пользователя (смотреть в member.roles) и добавлять в текст сообщения нужных пользователей.
    Ответ написан
    4 комментария
  • Конструкция if не работает в конструкции try?

    iMedved2009
    @iMedved2009
    Не люблю людей
    А почему всю эту конструкцию select if exists update else insert в pythonе не заменить на одну простую
    INSERT INTO cccstore (ART, Cost, Color) VALUES (?,?,?) ON DUPLICATE KEY UPDATE Cost=?;
    Ответ написан
    Комментировать
  • Как сделать автоматический запуск кода?

    @DenisShahbazyan
    Не подойдет обернуть свой код в бесконечный цикл?

    while True:
        # Код / функция, которая будет всегда крутиться.


    Можно через cmd, где my.py - название вашего скрипта. CMD открывать в той же папке, где находиться python файл
    for /l %q in (0) do python my.py
    Ответ написан
    1 комментарий
  • Когда задействована батарейка BIOS?

    @Drno
    нет
    но с учетом что там обычная батарейка, она всё равно деградирует постепенно
    Ответ написан
    3 комментария
  • Как организовать одновременную работу Telegram бота (Aiogram) и Flask?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Не надо их смешивать. Просто сделайте отдельно и пусть подключаются к одной БД. Так будет и надёжнее, и безопаснее, и призводительность будет выше, и проще всё это будет устроено, что не мало важно.
    Даже запускал бы я эти процессы в разных докер-контейнерах. Микросервисаня архитектура, масштабирование, прозрачность, элегантность и гибкость.
    Стартуете всё одним compose-файлом, а если будет не хватать в будущем, то куберовский кластер можно будет пристегнуть и нигде не упрётесь в нестандартные проблемы.

    Не изобретайте себе приключения на пустом месте.
    Ответ написан
    2 комментария
  • Как выяснить, что какие параметры скрываются за **kwargs?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    где найти в документации библиотеки

    0.В документации какой библиотеки? Какой функции?
    1.Воспользоваться поиском по документации для нахождения нужной функции/метода. Любая нормальная дока подробно описывает подобное.
    2.Посмотреть исходный код функции/метода.
    3.Загуглить.
    Ответ написан
    3 комментария
  • Как отправить текст с одного компьютера на другой через скрипты на Python?

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

    MaKvc
    @MaKvc
    Отчаянный веб-разработчик
    Читайте!
    Ваше условие (if a == 'нет' or 'да':) работает следующим образом:
    Python проверяет, a равно 'нет', естественно а неравно 'нет', а содержит строку '1111', НО ПОТОМ идет OR, операнд справа - это строка 'да', естественно Python считает ее за истину true, она ведь непустая!
    Получается, это условие, эквивалентно if a == 'нет' or true:, а это значит, что print('ok') выполнится в любом случае, так как, в условии есть часть or true,Pythony плевать на a == 'нет', он видит OR, видит true и выполняет условие, проще говоря, можно выкинуть лишнее, и записать так: if true: - это, все также эквивалентно if a == 'нет' or 'да':
    Для большего понимания происходящего, попробуйте заменить if a == 'нет' or 'да': на if a == 'нет' or '':. В этом случае, пустая строка эквивалентна false и при этом,a неравно 'нет', а это значит, что условие не будет выполнено и вы не увидите print('ok').

    Правильное условие:
    if a == 'да':
        print('ok')
    elif a == 'нет':
        print('net')
    else:
        print('error')

    В случае с or, правильно будет так:
    if a == 'да' or a == 'нет':

    ЗАНОВЕС!
    Ответ написан
    Комментировать
  • Извлечение данных из списка?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Если внимательно посмотреть на полученный результат, увидите [ ], которые говорят о том, что вы получили объект list в котором находится один элемент, соответственно обращение к нему будет messages[0]
    Ну и вероятно использовался fetchall вместо fetchone, перечитайте теорию по взаимодействию с бд.
    Ответ написан
    1 комментарий
  • Как проверить работает ли бот или нет?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Так и быть - пиши, уговорил, QnA даёт добро.
    Ответ написан
    2 комментария
  • Что означает этот знак [:-1]?

    dima9595
    @dima9595
    Junior PHP
    Нашёл удобное объяснение по срезам списков: https://pythonworld.ru/osnovy/indeksy-i-srezy.html
    Ответ написан
    Комментировать
  • Почему leetcode не принимает правильно решенные задачи на python?

    0xD34F
    @0xD34F
    Задача проверить является ли список палиндромом, я делаю самое банальное, дан список head, я проверяю return head == head[: :-1]

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

    snaiper04ek
    @snaiper04ek
    Не стреляйте в эникея, он админит как умеет
    Красивый и понятный код = читаемый код.
    Нагугли что такое самодокументирующийся код.

    Я сам начинающий, но с чего бы я начал это распутывать:
    area[0][0]["text"] - тут у тебя куча раз написано примерно одно и то же, меняется только 2 числа.
    Легчайшим образом переносится в функцию:
    def x_here(x,y):
        if area[x][y][text] == X:
            return True
        else:
            return False


    тогда одна строка в winner() уже будет вот так выглядеть:

    if x_here(0,0) and x_here(0,1) and x_here(0,2):
        return "X"


    тут у тебя снова есть повторяющиеся элементы
    во-первых, координаты для победы заранее известны
    win_condition_topleft_to_botright = ((0,0),(0,1),(0,2))

    у нас есть кортеж с кортежами. Если в этих координатах везде окажутся иксы - нужно вернуть X (победа). У этого кортежа понятное название (слева вверху к низу справа)

    далее нам нужна функция которая примет это условие победы и проверит его:
    def check_win_condition(first, second, third):  
        """на вход три кортежа, являющиеся координатами игрового поля"""
    
        if x_here(*first) and x_here(*second) and x_here(*third):
            return "X"
    
    def winner():
        check_win_condition(*win_condition_topleft_to_botright)
        check_win_condition(*win_condition_2)
        check_win_condition(*win_condition_3)
        check_win_condition(*win_condition_4)


    И... видишь повторяющиеся элементы? 4 одинаковые строки, в которых меняется только один параметр?
    Ah shit, here we go again

    Ты знаешь что делать. Действуй.
    Ответ написан
    1 комментарий